use*_*838 2 sql sql-server stored-procedures sql-server-2008
我有一个存储过程,我在其中声明了一个需要使用动态 sql 填充的 int 变量
CREATE PROCEDURE USP_aTABLE_ADD
/*
stored procedure variables
*/
AS
DECLARE @count int
SET @count = 1
DECLARE @qry nvarchar(max)
/*
SET UP @qry which will look like this
SELECT @count = count(*) FROM aTABLE WHERE (col1 = 'val1' AND col2 = 'val2'...)
*/
/*
How to get the value of @count so that I can continue with add process
*/
IF @count = 0
BEGIN
/*add logic*/
END
Run Code Online (Sandbox Code Playgroud)
使用sp_executeSQL和输出参数:
DECLARE @count INT = 1
DECLARE @qry NVARCHAR(MAX)
SET @qry = N'set @count = (....)'
EXEC sp_executesql @qry, N'@count INT OUTPUT', @count OUTPUT
SELECT @count
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3552 次 |
| 最近记录: |