存储过程相关

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(使用前将#替换为@)

存储过程相关 的相关文章

  • 整数构造变体

    大家好 我遇到了一个有趣的事件 正在寻找解释 在 Java 1 6 中 Integer a new Integer 5 Integer b new Integer 5 System out println a b Integer c 5 I
  • 如何删除Excel 2010单元格中的某些字符

    在 A 列中 我有很多类似这样的名称 约翰 史密斯 我仍然希望它们在 A 中 但 被删除了 If John Smith 位于单元格 A1 中 然后使用以下公式执行您想要的操作 SUBSTITUTE SUBSTITUTE A1 内部 SUBS
  • 整数转浮点数

    这段代码的工作原理 posToXY Float gt Float gt Integer posToXY a b do let y a b round y 但这不起作用 posToXY Integer gt Integer gt Intege
  • 将两个 Int 值相除以获得 Float 的正确方法是什么?

    我想分两份IntHaskell 中的值并获得结果Float 我尝试这样做 foo Int gt Int gt Float foo a b fromRational a b 但 GHC 版本 6 12 1 告诉我 无法将预期类型 Intege
  • 如何在 C++ 中追加一个整数(用一个整数)

    我想知道是否有人可以告诉我如何在 C 中附加一个整数 与另一个整数 基本上 如果我有一个值为 67 的 int 我如何将它与数字 4 一起附加 以便整数现在为 674 提前致谢 将第一个乘以十的第二个位数次方 然后加上另一个 示例 63 和
  • 将时间值转换为数字,同时保留时间特征

    我有一个数据集 其中包含不同事件发生的间隔时间 我想要做的是将数据转换为数字向量 以便更容易操作和运行摘要 制作图表等 同时保持其时间特征 这是我的数据片段 data lt c 03 31 12 17 16 29 09 52 04 01 0
  • 整数除法性质

    下面的整数算术性质成立吗 m n l m n l 起初我以为我知道答案 不成立 但现在不确定 它适用于所有数字还是仅适用于某些条件 即n gt l 该问题涉及计算机算术 即q n m q m n 忽略溢出 Case1 assume m kn
  • Solr 不搜索整数?

    我目前正在使用 Solr 为电子商务网站开发搜索引擎 所以我在 schema xml 中得到这两个字段
  • 从数组中输入多个数字,每个数字检查是否为整数

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

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

    给定一个十进制整数 例如 65 如何反转 Python 中的底层位 即以下操作 65 01000001 10000010 130 看来这个任务可以分为三步 将十进制整数转换为二进制表示形式 反转位 转换回十进制 第 2 步和第 3 步看起来
  • 模块“django.db.backends.utils”没有属性“typecast_decimal”

    当我跑步时 python manage py inspectdb database sybase database 它以错误消息结束 Database register converter Database DT DECIMAL util
  • 在 AT&T x86 程序集中查找转义字符

    问题一 我有以下汇编代码 其目的是循环输入字符串 并计算它遇到的转义字符 的数量 globl sprinter data escape string string num escape long 0 num characters long
  • C++ 编码整数除法

    我的代码运行了 但对于经销商来说 我需要 80 作为总成本的数字 并将其中的 80 取出 我使用 80 100 并得到收集的总成本乘以该数字 但它显示 0 include
  • 替换“^”字符

    我正在尝试使用以下方法替换字符串上的 字符 String text text replaceAll put this text 如果文本为以下值 x my string 结果字符串是 put this textx my string 这只发
  • 如何将字符串转换为带有“tail”的浮点数?

    我在将字符串转换为浮点数时遇到问题 print gettype value id returns string var dump value id returns string 34 7140 length 7 float floatval
  • 如果我的编译器不支持 C 或 C++ 中的 128 位整数加法和减法?

    我正在为 128 位数字的长流编写一个压缩器 我想将数字存储为差异 仅存储数字之间的差异而不是数字本身 因为我可以将差异打包在更少的字节中 因为它们更小 然而 为了压缩 我需要减去这些 128 位值 为了解压缩 我需要添加这些值 我的编译器
  • Android:转换为位图时,回收器视图的宽度和高度必须> 0

    在 Sqlite 中存储文本和图像 并尝试将这些数据检索到 recyclerview 中 当将图像显示到 recyclerview 中时 它显示错误宽度和高度必须 gt 0 在将图像保存在 sqlite 中时 我将位图转换为字节 数据库助手
  • 我如何使用 cout << myclass

    myclass是我写的一个C 类 当我写的时候 myclass x cout lt lt x 我该如何输出10 or 20 2 就像一个integer or a float value 通常通过重载operator lt lt 对于你的班级
  • 将数据框中的每个 x 个字符拆分为字符串

    我知道这里有一些关于每隔一段时间分割一个字符串的答案nth字符 例如this one https stackoverflow com questions 23208490 split each character in r and this

随机推荐

  • 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