1
什麼我與傳遞參數不正確地做在這個存儲過程?:問題的參數傳遞動態T-SQL
ALTER PROCEDURE [dbo].[Unload]
@branch_id INT,
@fl_close BIT
AS
BEGIN
SET NOCOUNT ON;
IF object_ID('TempDb..##ttable','U') IS NOT NULL
DROP TABLE ##ttable;
DECLARE @ExecStr varchar(4000),
@paramlist varchar(4000);
SElECT @ExecStr = 'CREATE TABLE #ttables
(
numid INT identity(1,1),
uso_id INT
)
INSERT INTO #ttables (uso_id)
SELECT u2.uso_id FROM Uso u2 WHERE u2.branch_id = @branch_id;'
SElECT @ExecStr = @ExecStr + 'SELECT identity(int,1,1) as id, c.client_code,
a.account_num, u.uso_id
INTO ##ttable
FROM accounts a INNER JOIN Clients c ON
c.id = a.client_id INNER JOIN Uso u ON c.uso_id = u.uso_id INNER JOIN
Magazin m ON a.account_id = m.accoun t_id INNER JOIN #ttables tt
ON u.uso_id = tt.uso_id
WHERE m.status_id IN (1,5) AND a.fl_close = @fl_close AND
u.branch_id = @branch_id';
SElECT @ExecStr = @ExecStr + ';
SELECT id,
client_code,
abs_account_num,
account_new_num,
account_new_open_date,
account_close_date,
uso_id
FROM ##ttable;
DROP TABLE #ttables;
DROP TABLE ##ttable;'
SELECT @paramlist = N'@branch_id INT, @fl_close BIT';
EXEC sp_executesql @ExecStr, @paramlist, @branch_id, @fl_close;
是否有錯誤消息? – 2011-05-25 06:49:25
@Ocaso Protal:不,沒有。但參數值不通過。 – DmitryB 2011-05-25 06:53:07
順便說一句:爲什麼你需要動態SQL在這裏?我瞎了嗎? – 2011-05-25 06:53:49