Sybase cursor的使用 SybaseSQLSQL Server
程序员文章站
2024-03-16 08:00:27
...
Sybase 在很多语法上面和常用的MS Sql 还有 PL Sql 存在很多不同的差异, 经常弄的我头昏脑涨。
这两天有个需求:几十个 tbName_xx 这种形式是表需要数据更新, 参照 MS Sql 的帮助文档和网上资料自己写了个cursor。结果是非常的郁闷!
后来几经摸索和别人的指点,弄了一个能正确执行的, 把代码贴出来供大家参考
- --第一步
- DECLARE cursor_a CURSOR /*声明游标*/
- FOR
- SELECT sDomainCode
- FROM tbOsDomain
- WHERE sDomainCode NOT IN ('CN', 'EN', 'US', ...)
- ORDER BY sDomainCode
- --第二步
- OPEN cursor_a /*打开游标*/
- DECLARE @domainCode VARCHAR(11), @message VARCHAR(80), @dynaSql VARCHAR(1000)
- FETCH cursor_a
- INTO @domainCode --提取游标数据
- WHILE @@sqlstatus = 0
- BEGIN
- SELECT @message = "----- domainCode is : " + @domainCode
- PRINT @message
- SET @dynaSql = " UPDATE tbTestData SET testCell='value_" + @domainCode
- EXEC(@dynaSql) --执行动态SQL, Sybase 12 以上的版本支持使用动态SQL
- --to do something.....
- -- Get the next cur.
- FETCH cursor_a
- INTO @domainCode
- END
- CLOSE cursor_a
- --第三步
- DEALLOCATE CURSOR cursor_a /*删除游标*/
推荐阅读
-
Sybase cursor的使用 SybaseSQLSQL Server
-
使用AndroidStudio上传忽略文件至SVN Server的解决办法
-
ASP.NET笔记之 Request 、Response 与Server的使用
-
使用AndroidStudio上传忽略文件至SVN Server的解决办法
-
ASP.NET笔记之 Request 、Response 与Server的使用
-
使用Springboot搭建OAuth2.0 Server的方法示例
-
sql server 2012使用触发器产生流水号并在另一库中创建与流水号有关的表
-
SQL Server扩展事件的使用ring_buffer target时“丢失”事件的原因分析以及ring_buffer target潜在的问题
-
SQL Server扩展事件的使用ring_buffer target时“丢失”事件的原因分析以及ring_buffer target潜在的问题
-
使用Springboot搭建OAuth2.0 Server的方法示例