- UID
- 97
- 精华
- 积分
- 87
- 威望
- 点
- 宅币
- 个
- 贡献
- 次
- 宅之契约
- 份
- 最后登录
- 1970-1-1
- 在线时间
- 小时
|
- declare
- --定义变量
- @v_sql nvarchar(4000),@v_sql2 nvarchar(4000),@v_s1 int,@v_s2 nvarchar(200), @v_s3 varchar(2000), @i INT,
- --定义游标
- @cursor_1 cursor
- set @cursor_1 = cursor for SELECT OBJECT_NAME(s.id) AS 'table' ,NAME AS name FROM syscolumns s WHERE s.id = OBJECT_ID (OBJECT_NAME(s.id),'u')
- --根据 OBJECT_ID('表名','u')找到用户表
- open @cursor_1
- fetch next from @cursor_1 INTO @v_s2, @v_s3 --得到的参数输出
- WHILE @@FETCH_STATUS=0 --游标的循环尺度
- BEGIN --循环语句块
- SET @v_sql='if exists( select '''+@v_s2+''' as ''table'' from ' +@v_s2+ ' where '+@v_s3+' like ''%福建%'') print ''表 '+@v_s2+' 列 '+@v_s3+''' '
- --动态sql拼接 if exist的快速查询 参数''不好弄
- EXEC SP_EXECUTESQL @v_sql,N'@count int out',@v_s1 OUT
- --执行存储过程 SP_EXECUTESQL 可以带参数 但必须有 N'@count int out' 不知为何
- fetch next from @cursor_1 INTO @v_s2, @v_s3 --游标指向下一个
- END
复制代码
|
|