CREATE PROCEDURE SP_PDeal
AS
declare @sql1 varchar(500)
declare @sql2 varchar(500)
declare @count1 int
set @sql1='select ''@count1''=count(*) from a'
set nocount on
begin
EXEC(@sql1)
if @count1>0
begin
set @sql2='update a set b=''c'' where UniqueID=2'
exec(@sql2)
end
end
GO
AS
declare @sql1 varchar(500)
declare @sql2 varchar(500)
declare @count1 int
set @sql1='select ''@count1''=count(*) from a'
set nocount on
begin
EXEC(@sql1)
if @count1>0
begin
set @sql2='update a set b=''c'' where UniqueID=2'
exec(@sql2)
end
end
GO
这是为什么呢
AS
declare @sql1 nvarchar(500)
declare @sql2 nvarchar(500)
declare @count1 int
set @sql1='select @count1=count(*) from a'
set nocount on
begin
EXEC sp_executesql @sql1, N'@count1 int output', @count1 output
if @count1>0
begin
set @sql2='update a set b=''c'' where UniqueID=2'
exec(@sql2)
end
end
GO
过程需要参数 '@statement' 为 'ntext/nchar/nvarchar' 类型。它提示这个呢