我想知道爲什麼我不能使用CAST函數作爲參數在存儲過程中設置ROWCOUNT。爲什麼CAST不能和SET ROWCOUNT一起使用?
此代碼失敗:
CREATE PROCEDURE GetTransactions
@Count VARCHAR(5)
AS
SET ROWCOUNT CAST(@Count AS INT);
...
儘管此代碼與中介變量的工作原理:
CREATE PROCEDURE GetTransactions
@Count VARCHAR(5)
AS
Declare @Rows AS INT;
SET @Rows = CAST(@Count AS INT);
SET ROWCOUNT @Rows;
...
我知道,改變參數類型爲INT也可以解決這個問題,但中間層調用存儲過程的組件需要一切爲String類型。
只是因爲你不能!你必須使用中間變量。爲什麼這是一個大問題? – 2012-01-09 03:43:30
哈哈!哇,我永遠不會認爲這是顯而易見的!我只是想讓代碼儘可能簡單。 – Graham 2012-01-09 03:45:21