博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sybase存储过程例子
阅读量:4357 次
发布时间:2019-06-07

本文共 3929 字,大约阅读时间需要 13 分钟。

CREATE PROCEDURE sp_one ( @tN varchar(50), @returnlie varchar(5000) output ) AS BEGIN DECLARE  appeal_num_cursor  CURSOR FOR SELECT name FROM syscolumns where id=object_id(@tN) --go --打开一个游标 DECLARE @lie_tmp varchar(50) DECLARE @lie varchar(5000) select @lie = '' OPEN  appeal_num_cursor --循环一个游标 FETCH appeal_num_cursor INTO @lie_tmp --SELECT @lie = [' + @lie_tmp +']' WHILE @@FETCH_STATUS = 0 BEGIN IF @lie != '' BEGIN SELECT @lie = @lie + ',[' + @lie_tmp +']' END ELSE BEGIN SELECT @lie = '['+ @lie_tmp +']' END FETCH appeal_num_cursor INTO @lie_tmp END CLOSE appeal_num_cursor DEALLOCATE cursor appeal_num_cursor --print @lie SELECT @returnlie = @lie END CREATE PROCEDURE SplitPageByLine_NEW ( @SqlStr         varchar(8000), @FirstRec       int,        @LastRec        int,        @tN             varchar(50), @isXing         int ) AS DECLARE @dt varchar(10) DECLARE @strZZ varchar(10) DECLARE @strLieMing varchar(5000) BEGIN SELECT @dt= substring(convert(varchar, rand()), 3, 10) print @dt SELECT @strZZ = name FROM syscolumns where status=128 and id=object_id(@tN) if  @strZZ != '' begin if @isXing != 1 begin if exists(select charindex(upper(@strZZ), upper(@SqlStr))) begin SELECT @SqlStr = stuff(@SqlStr, charindex(upper(@strZZ), upper(@SqlStr)), char_length(@strZZ) ,'convert(numeric,'+@strZZ+') '+@strZZ) SELECT @SqlStr = stuff(@SqlStr, charindex(' FROM ', upper(@SqlStr)), 6 ,' INTO tempdb..Lining' + @dt + ' FROM ') --print @SqlStr             EXECUTE (@SqlStr)    SELECT @SqlStr = 'ALTER TABLE tempdb..Lining' + @dt + ' ADD TEMPDB_ID numeric(10) IDENTITY PRIMARY KEY' EXECUTE (@SqlStr) SELECT @SqlStr = 'SELECT * FROM tempdb..Lining'+@dt+' WHERE TEMPDB_ID > ' + convert(varchar, @FirstRec) + ' and TEMPDB_ID <= ' + convert(varchar, @LastRec) EXECUTE (@SqlStr)    SELECT @SqlStr = 'DROP TABLE tempdb..Lining'+@dt EXECUTE (@SqlStr) end else begin SELECT @SqlStr = stuff(@SqlStr, charindex(' FROM ', upper(@SqlStr)), 6 ,' INTO tempdb..Lining' + @dt + ' FROM ') EXECUTE (@SqlStr)    SELECT @SqlStr = 'ALTER TABLE tempdb..Lining' + @dt + ' ADD TEMPDB_ID numeric(10) IDENTITY PRIMARY KEY' EXECUTE (@SqlStr) SELECT @SqlStr = 'SELECT * FROM tempdb..Lining'+@dt+' WHERE TEMPDB_ID > ' + convert(varchar, @FirstRec) + ' and TEMPDB_ID <= ' + convert(varchar, @LastRec) EXECUTE (@SqlStr)    SELECT @SqlStr = 'DROP TABLE tempdb..Lining'+@dt EXECUTE (@SqlStr) end end else begin EXECUTE sp_one @tN,@strLieMing output --print @strLieMing         SELECT @SqlStr = stuff(@SqlStr, charindex('*', upper(@SqlStr)), 1 ,@strLieMing) SELECT @SqlStr = stuff(@SqlStr, charindex('['+upper(@strZZ)+']', upper(@SqlStr)), char_length(@strZZ)+2 ,'convert(numeric,'+@strZZ+') '+@strZZ) SELECT @SqlStr = stuff(@SqlStr, charindex(' FROM ', upper(@SqlStr)), 6 ,' INTO tempdb..Lining' + @dt + ' FROM ') --print @SqlStr         EXECUTE (@SqlStr) SELECT @SqlStr = 'ALTER TABLE tempdb..Lining' + @dt + ' ADD TEMPDB_ID numeric(10) IDENTITY PRIMARY KEY' EXECUTE (@SqlStr) SELECT @SqlStr = 'SELECT * FROM tempdb..Lining'+@dt+' WHERE TEMPDB_ID > ' + convert(varchar, @FirstRec) + ' and TEMPDB_ID <= ' + convert(varchar, @LastRec) EXECUTE (@SqlStr)    SELECT @SqlStr = 'DROP TABLE tempdb..Lining'+@dt EXECUTE (@SqlStr) end end else begin SELECT @SqlStr = stuff(@SqlStr, charindex(' FROM ', upper(@SqlStr)), 6 ,' INTO tempdb..Lining' + @dt + ' FROM ') EXECUTE (@SqlStr)    SELECT @SqlStr = 'ALTER TABLE tempdb..Lining' + @dt + ' ADD TEMPDB_ID numeric(10) IDENTITY PRIMARY KEY' EXECUTE (@SqlStr) SELECT @SqlStr = 'SELECT * FROM tempdb..Lining'+@dt+' WHERE TEMPDB_ID > ' + convert(varchar, @FirstRec) + ' and TEMPDB_ID <= ' + convert(varchar, @LastRec) EXECUTE (@SqlStr)    SELECT @SqlStr = 'DROP TABLE tempdb..Lining'+@dt EXECUTE (@SqlStr) end END set textsize 65536 select * from tt /* declare @pageptr varbinary(16) select @pageptr=textptr(bb) from tt where aa='aa' readtext tt.bb @pageptr 1 2549 */

转载于:https://www.cnblogs.com/kudosharry/articles/2418028.html

你可能感兴趣的文章
spark 插入数据到mysql时遇到的问题 org.apache.spark.SparkException: Task not serializable
查看>>
简单SVG动画
查看>>
Servlet 工作原理解析
查看>>
form表单提交的Servlet时可以从servlet跳转到frameset中的指定框架
查看>>
在-for 循环里面如何利用ref 操作dom
查看>>
动态生成二级菜单
查看>>
heartbeat+drdb+nfs实现高可用
查看>>
Maven与nexus关系
查看>>
详解Spring的applicationContext.xml文件
查看>>
推荐一款非常棒的谷歌插件---快速查看HTML页面元素的CSS样式
查看>>
一次伪造登录请求
查看>>
Tiny4412 Android 5.0 编译系统学习笔记
查看>>
ORACLE_簽核PROC帶游標
查看>>
智慧程序员
查看>>
set password to qcow2
查看>>
Xcode使用 pod 后,在pch 中出现 file not found 相关错误解决方案
查看>>
windows下MySQL 5.7.19版本sql_mode=only_full_group_by问题
查看>>
微服务架构 SpringBoot(一)
查看>>
P2084 进制转换
查看>>
做技术最自由,在IT最幸福!
查看>>