You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.4 KiB
63 lines
1.4 KiB
IF OBJECT_ID('PClearBill') IS NOT NULL
|
|
BEGIN
|
|
DROP PROC PClearBill
|
|
END
|
|
GO
|
|
CREATE PROC PClearBill
|
|
(
|
|
@CompId VARCHAR(100),
|
|
@BillName VARCHAR(200)
|
|
)
|
|
AS
|
|
BEGIN
|
|
DECLARE @sql VARCHAR(MAX)
|
|
DECLARE @DelSql VARCHAR(MAX)
|
|
DECLARE @TableName VARCHAR(MAX)
|
|
DECLARE @MatchName VARCHAR(MAX)
|
|
|
|
SELECT @TableName = @BillName + 'Bill'
|
|
SELECT @MatchName = @BillName
|
|
|
|
DECLARE @Count INT
|
|
SELECT @Count = 0
|
|
WHILE @Count < 3
|
|
BEGIN
|
|
SELECT @DelSql = ''
|
|
SELECT @sql = 'SELECT FBillId INTO #Bill FROM '+@TableName+' WHERE FCompId = ' + @CompId
|
|
SELECT @DelSql = @DelSql + ' DELETE ' + name + ' WHERE FBillId IN(SELECT FBillId FROM #Bill )'FROM sysobjects WHERE name LIKE @MatchName + '%'
|
|
SELECT @sql = @sql + @DelSql
|
|
PRINT @SQL
|
|
EXEC (@SQL)
|
|
SELECT @Count = @Count + 1
|
|
END
|
|
END
|
|
GO
|
|
|
|
|
|
IF OBJECT_ID('PClearCompanyBill') IS NOT NULL
|
|
BEGIN
|
|
DROP PROC PClearCompanyBill
|
|
END
|
|
GO
|
|
CREATE PROC PClearCompanyBill
|
|
(
|
|
@CompId VARCHAR(100)
|
|
)
|
|
AS
|
|
BEGIN
|
|
EXEC PClearBill @CompId,'TConsume'
|
|
EXEC PClearBill @CompId,'TMemberSale'
|
|
EXEC PClearBill @CompId,'TExpenses'
|
|
EXEC PClearBill @CompId,'TOtherIncome'
|
|
EXEC PClearBill @CompId,'TStockIn'
|
|
EXEC PClearBill @CompId,'TStockOut'
|
|
EXEC PClearBill @CompId,'TTakeStock'
|
|
|
|
END
|
|
GO
|
|
|
|
SELECT ' EXEC PClearCompanyBill ' + CAST(FId AS VARCHAR)
|
|
FROM TCompany WHERE FId != 0
|
|
|
|
|
|
|