Sql-Server
SqlServer 在嵌套過程中傳遞參數
我有這兩個程序:
Create procedure jolly (@job_par varchar(100)='p%') as select * from emp where job like @job_par create procedure test1 @proc_name varchar(30) as exec @proc_name
如果我這樣執行
exec test1 @proc_name= jolly
我讓所有員工的工作都以“p”開頭,沒關係。
但是我怎樣才能呼叫程序 test1 讓我返回所有工作=‘ACCOUNT’的員工?
我試過這樣,但它給了我錯誤:
exec test1 @proc_name= jolly @job_par='ACCOUNT'
如何傳遞第二個過程的參數?
謝謝你。
您需要將@job_par 參數添加到您的呼叫過程中,這樣您就可以將其傳遞下去。使用您的範例:
CREATE PROCEDURE jolly ( @job_par VARCHAR(100) = 'p%' ) AS SELECT * FROM emp WHERE job LIKE @job_par; GO CREATE PROCEDURE test1 @proc_name VARCHAR(30) , @job_par VARCHAR(100) AS EXEC @proc_name @job_par; GO EXEC test1 @proc_name = 'jolly', @job_par = 'ACCOUNT';