问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

存储过程的结构是什么样的?

发布网友 发布时间:2022-03-26 17:07

我来回答

1个回答

热心网友 时间:2022-03-26 18:37

  CREATE PROCEDURE [拥有者.]存储过程名[;程序编号]
  [(参数#1,…参数#1024)]
  [WITH
  {RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION}
  ]
  [FOR REPLICATION]
  AS 程序行
  其中存储过程名不能超过128个字。每个存储过程中最多设定1024个参数
  (SQL Server 7.0以上版本),参数的使用方法如下:
  @参数名 数据类型 [VARYING] [=内定值] [OUTPUT]
  每个参数名前要有一个“@”符号,每一个存储过程的参数仅为该程序内部使用,参数的类型除了IMAGE外,其他SQL Server所支持的数据类型都可使用。
  [=内定值]相当于我们在建立数据库时设定一个字段的默认值,这里是为这个参数设定默认值。[OUTPUT]是用来指定该参数是既有输入又有输出值的,也就是在调用了这个存储过程时,如果所指定的参数值是我们需要输入的参数,同时也需要在结果中输出的,则该项必须为OUTPUT,而如果只是做输出参数用,可以用CURSOR,同时在使用该参数时,必须指定VARYING和OUTPUT这两个语句。
  例子:
  CREATE PROCEDURE order_tot_amt @o_id int,@p_tot int output AS
  SELECT @p_tot = sum(Unitprice*Quantity)
  FROM orderdetails
  WHERE ordered=@o_id
  例子说明:
  该例子是建立一个简单的存储过程order_tot_amt,这个存储过程根据用户输入的定单ID号码(@o_id),由定单明细表 (orderdetails)中计算该定单销售总额[单价(Unitprice)*数量(Quantity)],这一金额通过@p_tot这一参数输出给调用这一存储过程的程序。

  Create procere procee_name
  [@parameter data_type][output]
  [with]{recompile|encryption}
  as
  sql_statement
  解释:
  output:表示此参数是可传回的
  with {recompile|encryption}
  recompile:表示每次执行此存储过程时都重新编译一次
  encryption:所创建的存储过程的内容会被加密
  如:
  表book的内容如下
  编号 书名 价格
  001 C语言入门 $30
  002 PowerBuilder报表开发 $52
  实例1:查询表Book的内容的存储过程
  create proc query_book
  as
  select * from book
  go
  exec query_book
  实例2:
  加入一笔记录到表book,并查询此表中所有书籍的总金额
  Create proc insert_book
  @param1 char(10),@param2 varchar(20),@param3 money,@param4 money output
  with encryption ---------加密
  as
  insert book(编号,书名,价格) Values(@param1,@param2,@param3)
  select @param4=sum(价格) from book
  go
  执行例子:
  declare @total_price money
  exec insert_book '003','Delphi 控件开发指南',$100,@total_price
  print '总金额为'+convert(varchar,@total_price)
  go
  存储过程的3种传回值:
  1)、以Return传回整数
  2)、以output格式传回参数
  3)、Recordset
  传回值的区别:
  output和return都可在批次程式中用变量接收,而recordset则传回到执行批次的客户端中。
  实例3:
  设有两个表为Proct,Order,其表内容如下:
  Proct
  产品编号 产品名称 客户订数
  001 钢笔 30
  002 毛笔 50
  003 铅笔 100
  Order
  产品编号 客户名 客户订金
  001 南山区 $30
  002 罗湖区 $50
  003 宝安区 $4
  请实现按编号为连接条件,将两个表连接成一个临时表,该表只含编号.产品名.客户名.订金.总金额,
  总金额=订金*订数,临时表放在存储过程中
  代码如下:
  Create proc temp_sale
  as
  select a.产品编号,a.产品名称,b.客户名,b.客户订金,a.客户订数* b.客户订金 as总金额
  into #temptable from Proct a inner join Order b on a.产品编号=b.产品编号
  if @@error=0
  print 'Good'
  else
  &n bsp; print 'Fail'
  go
oracle 存储过程结构

IN:按值传递,参数值不可在存储过程中更改。OUT:作为输出参数,允许在存储过程中更改参数值。IN OUT:既可作为输入参数,也可作为输出参数。1.3 参数默认值 存储过程参数可以设置默认值,简化调用过程,但默认值仅支持IN参数。2. 存储过程内部块 内部块允许嵌套结构,包括declare..begin..end等。3....

存储过程的结构是什么样的

[OUTPUT]是用来指定该参数是既有输入又有输出值的,也就是在调用了这个存储过程时,如果所指定的参数值是我们需要输入的参数,同时也需要在结果中输出的,则该项必须为OUTPUT,而如果只是做输出参数用,可以用CURSOR,同时在使用该参数时,必须指定VARYING和OUTPUT这两个语句。例子:CREATE PROCEDURE order_...

存储过程中的 procedure、function和 package是干什么的,需要详细介 ...

SQL>execute insert_temp;SQL>execute insert_temp();都是正确的。IS 或 AS关键字是一样的,都可以用。PROCEDURE insert_temp IS | AS END关键字后加过程名也是可选的,但建议加过程名。一个过程可能跨越几屏的长度,当滚屏时,有助于看到END子句知道没有跳到下一个包过 程中。完整的过程结构...

什么事存储过程

存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。储过程是由流控制和SQL语句书写的过程,这个...

oracle存储过程中循环for in是如何使用的

1、首先编写存储过程的整体结构,如下图所示定义变量。2、定义变量后定义游标,begin,select sysdate into v_date from dual,end test_proc。3、然后编写for循环,游标for循环开始,然后为临时变量名,任意起,输出某个字段,使用变量名.列名即可,最后游标for循环结束。4、测试运行,点击DBMS Output标签...

sqlserver怎么创建存储过程?

3、当点击了第二步的【存储过程】之后,在右侧就会出现一个新的窗口,而且默认有好多的代码和注释,这些就是sqlserver默认创建的存储过程的结构和注释。4、如图为sqlserver默认创建的存储过程的结构和注释的中文解释。5、此处仅仅创建一个简单的演示存储过程,名字叫做usp_SimpleStoreProcedure,拥有一个整型的...

数据库系统原理 什么是存储过程有什么优点

毫无节制的使用存储过程, 而不考虑数据库结构是不科学的。对于相同的表进行 不同的操作,所产生的结果也是不一样的,产生的顺序也是不一样的,如何在存 储过程中进行有效的操作来使系统健康强壮,这是需要注意的。 通过使用存储过程, 可以更加清晰的理解数据库和系统是如何相互关联工作 的,存储过程...

存储过程和函数的区别

存储过程(Stored Procedure),是一组为了完成特定功能的SQL 语句,类似一门程序设计语言,也包括了数据类型、流程控制、输入和输出和它自己的函数库。存储过程可以说是一个记录集,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给...

储存过程的类型有哪些

存储过程本身的执行速度非常快,而且,调用存储过程可以大大减少同数据库的交互次数。 第二、提高安全性。假如将SQL语句混合在ASP代码中,一旦代码失密,同时也就意味着库结构失密。 第三、有利于SQL语句的重用。 在ASP中,一般通过mand对象调用存储过程,根据不同情况,本文也介绍其它调用方法。为了方便说明,根据存储...

存储过程属于三层结构中哪一层

应该属于“数据访问层”DAL吧,其实又有点逻辑层要做的事。其本身是针对数据库级别的,三层架构应该是针对程序设计级别。按照对数据访问层的定义来说,因为存储过程实现的功能与一般的增删改等SQL语句类似,故而我觉得其应属DAL。

存储过程里调用存储过程 存储过程是用来干什么的 sql存储过程是什么 数据库存储过程是什么 存储过程是由什么激活 什么叫存储过程 存储过程是 存储过程怎么用 sql存储过程是干嘛
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
第一ppt模板网官网 努比亚布拉格s可以充公交卡的nfc功能吗 康佳电视机死机了,要怎么处理呢? SuperPiCPU性能检测工具V12绿色汉化版SuperPiCPU性能检测工具V12绿色汉 ... 事故车鉴定的方法是什么? 请问大佬有飞儿云CPU限速工具 V1.0 官方版软件百度云资源吗_百度... 怎么才能鉴定是事故车 我现在上网打开网页特别慢,有人说让我看看任务管理器CPU的占有率... ...CPU监视工具) V8.70.6 英文版软件免费百度云资源吗 微信里收藏的语音可以转入wps里吗 现代数据库中最常用的数据存储结构是什么 计算机存储系统分为哪几个层次 图的存储结构是什么? 云存储的基本结构包括那几部分 数据库的存储结构分为哪两种?其含义是什么? 云存储的基本结构包括几部分 存储结构的介绍 存储结构 存储系统层次结构包含哪些层 PS4能不能使用移动硬盘? 关于ps4外接硬盘求助贴买了一个台式3.5寸装 ps4外接硬盘 什么牌子的好? ps4 pro支持多大外接硬盘 ps4能插固态硬盘吗 PS4现在能外接移动硬盘看电影了么 有关ps4外接硬盘,直接用普通的移动硬盘可以吗 ps4支持接2个外接硬盘吗 ps4可以外接移动硬盘吗 ps4可以外接移动硬盘装游戏吗 PS4现在能不能通过USB外置硬盘了 线性表达顺序存储结构是什么储存结构 恋爱记怎么退出账号 恋爱记注销了还可以登录吗 恋爱记一个手机号只能绑定一次吗 恋爱记注销账号后为什么无法再次绑定账号 恋爱记恋爱记自动攒怎么修改金额 恋爱记换手机登录还有用吗 恋爱记资金可以冻结嘛 恋爱记支付宝账号不匹配 恋爱记存钱会被吞吗 恋爱记如果没补签前面的恋爱日记会消失么 恋爱记跟上一任打卡够还可以跟下一任打吗 恋爱记讨论攒钱目标怎么完成 oppo手机里的电话号码如何导出来 oppo手机怎么导出电话号码 OPPO手机电话本SIM卡里面联系人导入导出的方法 怎么从OPPO手机里导出联系人? oppo手机怎么导出联系人到sim卡 oppo手机如何导出联系人 OPPO手机如何导出通讯录?