DECLARE @TABLE VARCHAR(20)
DECLARE @RecordCount int
DECLARE @DYSQL NVARCHAR(2000)
SET @DYSQL= 'SELECT @a=COUNT(*) FROM '+@TABLEexec sp_executesql @sql,N'@aint output',@RecordCount output
DECLARE @RecordCount int
DECLARE @DYSQL NVARCHAR(2000)
SET @DYSQL= 'SELECT @a=COUNT(*) FROM '+@TABLEexec sp_executesql @sql,N'@aint output',@RecordCount output
DECLARE @RecordCount int
DECLARE @DYSQL NVARCHAR(2000) --注意是nvarchar
SET @DYSQL= 'SELECT @a=COUNT(*) FROM '+@TABLEexec sp_executesql @DYSQL,N'@a int output',@RecordCount output
create proc p_test
@TABLE VARCHAR(20),
@RecordCount int out
as
DECLARE @DYSQL nVARCHAR(2000)
SET @DYSQL= 'SELECT @RecordCount=COUNT(*) FROM '+@TABLE
exec SP_EXECUTESQL @DYSQL,N'@RecordCount int out',@RecordCount out
go--调用:
declare @RecordCount
exec p_test 'aa',@RecordCount out
select 结果=@RecordCount
[交流]动态SQL语句