笔记283 游标中如何实现 动态SQL 2013-6-8
1 --游标中如何实现 动态SQL 2013-6-8
2 USE [GPOSDB]
3 GO
4 DECLARE @cmd NVARCHAR(MAX)
5 DECLARE @index INT
6 SET @index=1
7 IF ( 1 = 1 )
8 BEGIN
9 SET @cmd = 'select * from dbo.CT_InhouseCard where I_IC_CardType='+CAST(@index AS NVARCHAR(100))
10 END
11 ELSE
12 BEGIN
13 SET @cmd = 'select * from dbo.CT_InhouseCard where I_IC_CardType='+CAST(@index AS NVARCHAR(100))
14 END
15 DECLARE @cur CURSOR
16 DECLARE @sql NVARCHAR(MAX)
17 SET @sql = N'SET @cur = CURSOR FOR ' + @cmd + N'; OPEN @cur;';
18 EXEC sp_executesql @sql, N'@cur CURSOR OUTPUT', @cur OUTPUT;
19 FETCH @cur;
20 CLOSE @cur;