存储过程相关

2023-11-15

在sybase数据库中检查存储过程是否存在,如存在就删除表记录,如不存在就创建。
if exists( select 1 from sysobjects where id = object_id( "K_FY..P_EncodeQqTitle" )[name="表名"(判断表是否存在)] and sysstat & 15 = 4 [sysstat & 15 = 3(表)])
  drop procedure 过程名
go
create procedure 过程名
(
......
)
go

 

存储过程创建语法

       create or replace procedure 存储过程名(param1 in type,param2 out type)

as

变量1 类型(值范围);

变量2 类型(值范围);

Begin

    Select count(*) into 变量1 from 表A where列名=param1;

    If (判断条件) then

       Select 列名 into 变量2 from 表A where列名=param1;

       Dbms_output。Put_line(‘打印信息’);

    Elsif (判断条件) then

       Dbms_output。Put_line(‘打印信息’);

    Else

       Raise 异常名(NO_DATA_FOUND);

    End if;

Exception

    When others then

       Rollback;

End;

 

注意事项:

1,  存储过程参数不带取值范围,in表示传入,out表示输出

2,  变量带取值范围,后面接分号

3,  在判断语句前最好先用count(*)函数判断是否存在该条操作记录

4,  用select 。。。into。。。给变量赋值

5,  在代码中抛异常用 raise+异常名 

 

以命名的异常

命名的系统异常                          产生原因

ACCESS_INTO_NULL                   未定义对象

CASE_NOT_FOUND                     CASE 中若未包含相应的 WHEN ,并且没有设置 ELSE 时

COLLECTION_IS_NULL                集合元素未初始化

CURSER_ALREADY_OPEN          游标已经打开

DUP_VAL_ON_INDEX                   唯一索引对应的列上有重复的值

INVALID_CURSOR                 在不合法的游标上进行操作

INVALID_NUMBER                       内嵌的 SQL 语句不能将字符转换为数字

NO_DATA_FOUND                        使用 select into 未返回行,或应用索引表未初始化的   

TOO_MANY_ROWS                      执行 select into 时,结果集超过一行

ZERO_DIVIDE                              除数为 0

SUBSCRIPT_BEYOND_COUNT     元素下标超过嵌套表或 VARRAY 的最大值

SUBSCRIPT_OUTSIDE_LIMIT       使用嵌套表或 VARRAY 时,将下标指定为负数

VALUE_ERROR                             赋值时,变量长度不足以容纳实际数据

LOGIN_DENIED                           PL/SQL 应用程序连接到 oracle 数据库时,提供了不正确的用户名或密码

NOT_LOGGED_ON                       PL/SQL 应用程序在没有连接 oralce 数据库的情况下访问数据

PROGRAM_ERROR                       PL/SQL 内部问题,可能需要重装数据字典& pl./SQL 系统包

ROWTYPE_MISMATCH                宿主游标变量与 PL/SQL 游标变量的返回类型不兼容

SELF_IS_NULL                             使用对象类型时,在 null 对象上调用对象方法

STORAGE_ERROR                        运行 PL/SQL 时,超出内存空间

SYS_INVALID_ID                         无效的 ROWID 字符串

TIMEOUT_ON_RESOURCE         Oracle 在等待资源时超时 

 

函数作用:

1、SET NOCOUNT { ON | OFF } 

在结果集中返回可显示受 Transact-SQL 语句或存储过程影响的行计数

备注
当 SET NOCOUNT 为 ON 时,不返回计数。当 SET NOCOUNT 为 OFF 时,返回计数。
即使当 SET NOCOUNT 为 ON 时,也更新 @@ROWCOUNT 函数。
当 SET NOCOUNT 为 ON 时,将不向客户端发送存储过程中每个语句的 DONE_IN_PROC 消息。如果存储过程中包含一些并不返回许多实际数据的语句,网络通信流量便会大量减少,因此,将 SET NOCOUNT 设置为 ON 可显著提高性能。

SET NOCOUNT 指定的设置是在执行或运行时生效,而不是在分析时生效。

权限
要求具有 public 角色的成员身份。

2、REPLICATE    以指定的次数重复字符表达式。  

语法  
  REPLICATE   (   character_expression   ,   integer_expression   )    


参数  
  character_expression    
  由字符数据组成的字母数字表达式。character_expression   可以是常量或变量,也可以是字符列或二进制数据列。  

integer_expression      
  是正整数。如果   integer_expression   为负,则返回空字符串。  
   
  返回类型  
  varchar  
   
  character_expression   必须为可隐性转换为   varchar   的数据类型。否则,使用   CAST   函数显式转换   character_expression。  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

存储过程相关 的相关文章

  • Ruby 中的安全整数解析

    我有一根绳子 比如说 123 我想将它转换为整数123 我知道你可以简单地做some string to i 但这会转换 lolipops to 0 这不是我想要的效果 当我试图用一种美好而痛苦的方式转换一些无效的东西时 我希望它在我脸上爆
  • 如果可能的话,如何在 C 中定义 2 位数字?

    对于我的大学过程 我正在模拟一个称为随机顺序吸附的过程 我必须做的一件事是随机地将正方形 不能重叠 放置到格子上 直到没有更多空间为止 重复该过程几次以找到平均 干扰 覆盖率 基本上我正在对一个大的整数数组执行操作 其中存在 3 个可能的值
  • 整数转换(缩小、扩大)、未定义的行为

    对我来说 以我可以轻松理解的方式找到有关该主题的信息非常困难 因此我要求对我所找到的内容进行审查 这都是关于转换和转换的 在示例中我将提到 signed unsigned int bigger signed unsigned char sm
  • sybase @@error 捕获错误的替代方法

    通常我会遇到这样的错误 EXECUTE STATEMENT SELECT ERR CODE ERROR 它处理简单的错误 如下面的查询 ERROR 返回值 insert into tab1 values 1 error attempt to
  • 当 python 添加小整数时,幕后会发生什么? [复制]

    这个问题在这里已经有答案了 我正在摆弄id最近意识到 c Python 做了一些非常明智的事情 它确保小整数始终具有相同的值id gt gt gt a b c d e 1 2 3 4 5 gt gt gt f g h i j 1 2 3 4
  • 我们如何找到 C# 整数数组中的项目计数?

    我需要在 C 数组中查找类型为整数的项目计数 我的意思是 int intArray new int 10 int 0 34 int 1 65 int 2 98 intArray 的项目计数为 3 我在下面找到了 strArray 的代码 但
  • Emacs lisp:将字符翻译为标准 ASCII 转录

    我正在尝试编写一个函数 将包含 unicode 字符的字符串转换为某种默认的 ASCII 转录 理想情况下 我想要例如 ngstr m成为Angstroem或者 如果不可能的话 Angstrom 同样地 应该成为a x c 或类似的 Ema
  • C 整数溢出

    我正在使用 C 中的整数 试图探索更多关于何时以及如何发生溢出的信息 我注意到 当我添加两个正数时 其总和会溢出 我总是得到一个负数 另一方面 如果我添加两个负数 其总和溢出 我总是得到一个正数 包括 0 我做了一些实验 但我想知道这是否适
  • C 中的字符计数

    我正在尝试编写一个程序来计算字符串中的所有字符 我本来有它 但后来意识到我无法计算空格 我不明白为什么这不起作用 for m 0 z m 0 m if z m charcount 任何帮助表示赞赏 编辑 如果像这样扫描输入 字符串 会有什么
  • Lua中如何获取表中的最大整数?

    Lua中如何获取表中的最大整数 在Lua 5 1及更早版本中 你可以使用 math max unpack 1 2 3 4 5 这受到Lua堆栈大小的限制 在 PUC Lua 5 1 上 该值的最大值可达 ca 8000 个数字 如果堆栈空闲
  • 整数构造变体

    大家好 我遇到了一个有趣的事件 正在寻找解释 在 Java 1 6 中 Integer a new Integer 5 Integer b new Integer 5 System out println a b Integer c 5 I
  • 在 C# 整数运算中,a/b/c 是否始终等于 a/(b*c)?

    设a b和c为非大正整数 对于 C 整数算术 a b c 是否始终等于 a b c 对我来说 在 C 中它看起来像 int a 5126 b 76 c 14 int x1 a b c int x2 a b c 所以我的问题是 x1 x2对于
  • 整数转浮点数

    这段代码的工作原理 posToXY Float gt Float gt Integer posToXY a b do let y a b round y 但这不起作用 posToXY Integer gt Integer gt Intege
  • 如何对无法存储在一个变量中的大数字进行运算

    在Java中 我希望能够对非常大的整数 不能存储在long中 进行操作 我该怎么做 在表现良好的情况下 处理这个问题的最佳方法是什么 我应该创建自己的包含多个长变量的数据类型吗 Example public class MyBigInteg
  • 在 Sublime Text 2 状态栏中显示有关当前字符的信息

    我缺少其他文本编辑器经常提供的一项有用功能 在底部状态栏中 它们显示当前字符的 ASCII 和 UTF 代码 当前位置之前或之后的字符 现在不确定 我找不到执行此操作的包或执行此操作的本机功能 感谢您的帮助 我为此制作了一个插件 创建一个a
  • C中输出单个字符

    在 C 程序中打印单个字符时 必须在格式字符串中使用 1s 吗 我可以使用 c 之类的东西吗 yes c将打印单个字符 printf c h also putchar putc也会起作用 来自 man putchar include
  • R中整数类和数字类有什么区别

    我想先说我是一个绝对的编程初学者 所以请原谅这个问题是多么基本 我试图更好地理解 R 中的 原子 类 也许这适用于一般编程中的类 我理解字符 逻辑和复杂数据类之间的区别 但我正在努力寻找数字类和整数类之间的根本区别 假设我有一个简单的向量x
  • 如何同时接受int和float类型的输入?

    我正在制作一个货币转换器 如何让 python 同时接受整数和浮点数 我就是这样做的 def aud brl amount From to ER 0 42108 if amount int if From strip aud and to
  • 从数组中输入多个数字,每个数字检查是否为整数

    每个人 我希望有人能帮我弄清楚C语言的一些东西 这是我第一次认真地做IT方面的作业 我没有经验 而且我正在电子学习中学习 所以老师的帮助不是很好 我需要用C语言开发控制台应用程序 用户需要输入10个整数 如果插入的数字不是整数 需要输出错误
  • 在 Swift 中将单个整数值视为一个范围

    我需要验证字符串的长度 字符计数允许的值为 6 9 个字符 12个字符 15 个字符 所有具有不同字符数的字符串均无效 因此 我想创建一个 Swift 函数 它接受多个范围并计算字符串 extension String func evalu

随机推荐

  • Linux Rsync服务详解(二)——Rsync服务实战

    今天继续给大家介绍Linux运维相关内容 本文主要内容是Rsync服务详解 一 Rsync实战 接下来 我们选择使用两台设备进行Rysnc的备份实战 设备一IP地址 192 168 136 101 设备二IP地址 192 168 136 2
  • 【openGL2021版】天空盒

    openGL2021版 天空盒 大家好 我是Lampard猿奋 欢迎来到船新的openGL基础系列的博客 今天主要实现的是天空盒 1 什么是天空盒 上周我们已经实现了FPS式的摄像机控制 键盘的 WSAD 可以控制摄像头的前后左右移动 鼠标
  • FPGA面试题【Verilog实现一个2位带进位全加器,画出门级电路】

    目录 题目 核心思路 答案 FPGA全貌 题目 Verilog实现一个2位带进位全加器 画出门级电路 核心思路 思路见代码注释 答案 2位加法器顶层模块 module top s cout a b cin 输入输出端口及变量定义 outpu
  • MySQL的 timze_zone 和 SpringBoot 的 serverTimezone 的设置

    查看和修改 MySQL 的时区 system time zone 系统时区 在MySQL启动时会检查当前系统的时区并根据系统时区设置全局参数system time zone的值 system time zone 变量只有全局值没有会话值 不
  • thinkphp5学习路程 四 模板调用及视图渲染

    继承 think Controller 类 以下类可以直接使用 fetch 渲染模板输出 display 渲染内容输入 assign 模板变量赋值 engine 初始化模板引擎
  • Mockjs模拟登录接口数据

    一丶安装mockjs cnpm install mockjs save dev 二丶创建Mock文件 Mock文件下包含index js mock服务 和user js mock数据 index js 首先引入Mock const Mock
  • Symbol类型

    如何定义symbol类型 2种方式 let id1 Symbol console log typeof id1 如果我们将 id 定义为数字类型 当他们id相同时 判断它们是否相等 结果肯定是相等的 let id1 666 let id2
  • 从recat源码角度看setState流程

    setState setState 将对组件 state 的更改排入队列批量推迟更新 并通知 React 需要使用更新后的 state 重新渲染此组件及其子组件 其实setState实际上不是异步 只是代码执行顺序不同 有了异步的感觉 使用
  • requests库get方法

    例 r requests get url r 一个包含服务器资源的Response对象 requests get url 构造一个想服务器请求资源的Request对象 Response 包含爬虫返回的全部内容 requests get ur
  • Java8 新特性——流式操作

    流式操作 流 Stream Java8新增 用来处理我们集合的数据 与IO包里的流是完全不同的概念 倒是和Spark Streaming很像 反正是抄的 如何处理集合中的数据呢 为什么引入流 声明式处理数据 元素的内部迭代 不需要做外部迭代
  • 宝塔安装的ftp服务完整URL的形式访问

    宝塔安装的ftp服务完整URL的形式访问 宝塔安装命令 yum install y wget wget O install sh http download bt cn install install 6 0 sh sh install s
  • STM32按键控制LED灯

    因为是按键输入 所以创立两个文件 bsp key c和bsp key h文件 一 bsp key c中需要对按键进行初始化 这个和LED的类似 GPIOA G均是挂在APB2上的 1 时钟 故时钟均为RCC APB2PeriphClockC
  • 保姆式详细过程Ubuntu上传代码至Gitee、Github

    Gitee的用法基本与Github一致 将用Gitee为例 毕竟加载速度快 创建仓库 在Gitee网站右上角点击加号 以下是我一般用的创建格式 可以自行选择 点击创建即可完成 Ubuntu连接Gitee 在终端输入sudo apt get
  • C#笔记(2)---基本语法 [流程控制语句]

    一 条件语句 1 if 语句 语法 if else 可以单独使用if部分 也可以具有else if Example int i 2 if i 0 label4 Text 0 else if i 1 label4 Text 1 else la
  • MySQL必知必会 学习笔记 第十二章 汇总数据

    聚集函数是运行在行组上 计算和返回单个值的函数 对表中数据而非实际数据本身进行汇总 如获取行数 获取某列最值等 除上述函数外 MySQL还支持标准偏差聚集函数 返回某列平均值 SELECT AVG columnName AS avgVal
  • js 文件与文件流之间互换

    直接看代码
  • 梯度优化_神经网络中的梯度优化算法(三)

    Nadam Nadam Nesterov accelerated Adaptive Moment Estimation 结合了Adam和NAG的梯度优化方法 为了将NAG方法融入Adam 需要修改下Adam的momentum项 回顾mome
  • 五子棋小游戏 java版(代码+详细注释)

    游戏展示 这周闲来无事 再来写个五子棋小游戏 基本功能都实现了 包括人人对战 人机对战 界面布局和功能都写的还行 没做到很优秀 但也不算差 如有需要 做个java初学者的课程设计或者自己写着玩玩也都是不错的 非常简单 小白照着就能写出来 完
  • 【JS基础】Number、布尔值、Null和Undefined

    Number 在JS中所有的数值都是Number类型 包括整数和浮点数 小数 区分Number和String typeof console log typeof a 使用Number MAX VALUE 表示数字的最大值 如果超过最大值 则
  • 存储过程相关

    在sybase数据库中检查存储过程是否存在 如存在就删除表记录 如不存在就创建 if exists select 1 from sysobjects where id object id K FY P EncodeQqTitle name