首页 > 数据库 >SQL: 打印存储过程

SQL: 打印存储过程

时间:2023-08-14 22:36:40浏览次数:35  
标签:DEFINITION 存储 ENCRYPT RS int 打印 LONG SQL OBJ

打印SAP business one  9.2  存储过程代码 

 

use SAPB1  -- SAP BUSINESS ONE 9.2 
GO 

DECLARE C_SP CURSOR  FOR 
 SELECT OBJ.NAME AS STORE_PROCEDURE,
       CASE WHEN RS.DEFINITION IS NULL THEN N'加密'
       ELSE N'未加密' END AS [IS_ENCRYPT],
       RS.DEFINITION ,
       LEN( RS.definition) AS STRING_LONG
  FROM SYS.all_objects OBJ,
       SYS.ALL_SQL_MODULES RS 
 WHERE OBJ.object_id = RS.object_id
 AND OBJ.type = 'P'
  AND OBJ.name IN ('TmSp_UpgradeElectronicInvoiceMX')
 order by obj.name ;
DECLARE @STORE_PROCEDURE NVARCHAR(128),
 @IS_ENCRYPT NVARCHAR(20),  
 @DEFINITION NVARCHAR(MAX),
 @STRING_LONG INT; -- 第4000字段一段;  
declare @times int, --  数 
 @i int ,
 @j int ,
 @start int;   
BEGIN
-- SQL SERVER PRINT打印函数 每次最多只支持4000BYTE. 故打印前先对内容进行分段。 
  OPEN C_SP ;
  FETCH NEXT FROM C_SP INTO  @STORE_PROCEDURE, @IS_ENCRYPT, @DEFINITION,@string_long
  WHILE @@FETCH_STATUS = 0 
  BEGIN
    SET @times = CEILING(@STRING_LONG/4000.0);
    set @i= 1;
    IF @IS_ENCRYPT =N'未加密'
	BEGIN
     WHILE @i <=@times
     begin
       set @start = 1+ (@i-1)*4000.0;
       print Substring(@definition,@start,4000.0)
       set @i= @i+1;
     end; 
	 PRINT ''
	 print 'GO'+ CHAR(10)
	 END;
	 
     /* 
    begin
      if @STRING_LONG>4000 and @STRING_LONG<8000 
      begin
        print substring(@definition,1,4000)
        print subString(@definition,4001,8000)
      end  
      else  
        print @definition;        
      print 'GO'
    end;
    */
   FETCH NEXT FROM C_SP INTO  @STORE_PROCEDURE, @IS_ENCRYPT, @DEFINITION,@string_long
  END;
  CLOSE C_SP;
  DEALLOCATE C_SP;
END;       

  

标签:DEFINITION,存储,ENCRYPT,RS,int,打印,LONG,SQL,OBJ
From: https://www.cnblogs.com/samrv/p/17629957.html

相关文章

  • mysql添加索引的方法(Navicat可视化加索引和sql语句加索引)
    mysql添加索引的方法(Navicat可视化加索引和sql语句加索引) 使用索引的场景:阿里云日志里出现了慢sql 然后发现publish_works_id字段会经常用于一些关联,所以决定把这个字段加上索引,优化sql可视化navicat操作字段加索引,选择字段所在的表,第一步:右键->设计表第二步......
  • Zabbix监控Mysql主从
    一、主机规划服务器IPzabbix-server192.168.131.12mysql-master,zabbix-agent192.168.131.13mysql-slave,zabbix-agent192.168.131.14二、部署&配置zabbix-server2.1部署zabbix#安装Zabbix仓库。这里部署zabbix6.4wgethttps://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabb......
  • Mysql配置文件设置与了解
    [client]port=3306[mysql]default-character-set=gbk[mysqld]port=3306socket=/tmp/mysql.sock#设置mysql的安装目录basedir=F:\\HzqSoft\\MySqlServer51GA#设置mysql数据库的数据的存放目录,必须是data,或者是\\xxx-datadatadir=F:\\HzqSoft\\MyS......
  • WEEK08:MYSQL备份及恢复
    ......
  • 开源数据库Mysql_DBA运维实战 (DCL/日志)
    SQL(StructuredQueryLanguage即结构化查询语言)a.DDL语句 数据库定义语言:数据库,表,视图,索引,存储过程,函数,创建删除ALTER(CREATEDROPALTER) b.DML语句数据库操纵语言:插入数据INSERT、删除数据DELETE、更新数据UPDATEc.DQL语句 数据库查询语言:查询数据SELECTd.DCL语句数......
  • MySQL 使用表的自联结,lag,lead得到该行记录所在连续段长度
    目录题目地址代码题目地址https://leetcode.cn/problems/human-traffic-of-stadium/description/代码##WriteyourMySQLquerystatementbelow##本质上就是连续签到问题呗#SELECTVersion()#8.0.33,用户变量编程用不了witht1as(SELECT*fromstadium......
  • windows10下SQL Server2019安装
    1、下载安装包后,管理员身份执行                 备注:取消poly后:          控制器名称:SQLSERVER2019C    等待~~~  需要安装管理工具:   具体可参考:sqlserver2019安装后没......
  • MySQL 可重复读边查边插,边删边查
    测试1:边查边插1--会话1查询select*fromt_sjq--431576--会话2INSERT一行,没有阻塞--会话1再次查询,多了一条select*fromt_sjq--431577测试1:边查边插2--会话1查询select*fromt_sjq--423577(会执行十几秒)--会话2会话1执行开始后马上插入1000条数据-......
  • sql server sqlbulkcopy 批量数据插入数据库
     SqlBulkCopyOptions介绍 SqlBulkCopy位于位于命名空间System.Data.SqlClient下,主要功能是把其他数据源(数据行DataRow,数据表DataTable,数据读取器IDataReader等)的数据有效批量的导入到SQLServer表中的功能。类似与MicrosoftSQLServer包中名为bcp的命令行应用程序。但......
  • Hedisql基本操作
    要求HeidiSQL在Windows10和11上运行良好(在Windows7+8上运行有一些小问题)。目前在Wine上运行HeidiSQL相当不稳定。安装HeidiSQL的正常方法是从下载页面下载发行版安装程序。安装后,您可以直接从下载页面或通过HeidiSQL本身下载夜间版......