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

什么是存储过程

发布网友 发布时间:2022-04-29 10:09

我来回答

1个回答

热心网友 时间:2022-04-09 20:08

sql语句执行的时候要先编译,然后执行。存储过程就是编译好了的一些sql语句。用的时候直接就可以用了。所以效率会高一 存储过程介绍 存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化 后存储在数据库服务器中,使用时只要调用即可。在ORACLE中,若干个 有联系的过程可以组合在一起构成程序包。 使用存储过程有以下的优点: * 存储过程的能力大大增强了SQL语言的功能和灵活性。存储过程可 以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的 运算。 * 可保证数据的安全性和完整性。 # 通过存储过程可以使没有权限的用户在控制之下间接地存取数据 库,从而保证数据的安全。 # 通过存储过程可以使相关的动作在一起发生,从而可以维护数据 库的完整性。 * 再运行存储过程前,数据库已对其进行了语法和句法分析,并给出 了优化执行方案。这种已经编译好的过程可极大地改善SQL语句的性能。 由于执行SQL语句的大部分工作已经完成,所以存储过程能以极快的速度执 行。 * 可以降低网络的通信量。 * 使体现企业规则的运算程序放入数据库服务器中,以便: # 集中控制。 # 当企业规则发生变化时在服务器中改变存储过程即可,无须修改 任何应用程序。企业规则的特点是要经常变化,如果把体现企业规则的运 算程序放入应用程序中,则当企业规则发生变化时,就需要修改应用程序 工作量非常之大(修改、发行和安装应用程序)。如果把体现企业规则的 运算放入存储过程中,则当企业规则发生变化时,只要修改存储过程就可 以了,应用程序无须任何变化。 不同数据库存储过程的写法不一,在后面的讲座中将分别介绍ORACLE 和SYBASE存储过程的用法。 二 ORACLE 的存储过程 ORACLE 创建存储过程的语法为: create [or replace] procere 过程名 参数1 [in|out|in out] 数据类型 [,参数2 [in|out|in out] 数据类型]... pl/sql 语句 下面举例说明ORACLE数据库存储过程的写法和用法。 可以建立一个存储过程,每当用户修改数据库的重要数据时,即把 用户的用户名、掌诤筒僮骼嘈图锹枷吕矗?nbsp; create procere update_log is begin insert into update_log_tab(use_name,update_date,operation) values(user,sysdate,'update' end; 可以在恰当的位置调用这个存储过程来记录用户对表的修改。例如下面在 表sal_comm上建立一个修改触发器,每当用户修改此表后,用户的名称、修改 时间和操作即被记录在了表update_log_tab中: create trigger audit_update after update on sal_comm for each row begin update_log end --三 Sybase的存储过程 尽管Sybase存储过程的功能和写法与ORACLE类似,但他们之间还是 有一定的差别。下面讲述SYBASE的存储过程。 SYBASE可以用CREATE PROCere命令生成存储过程: CREATE PROCere 存储过程名 [;number] [[(] @parameter_name datatype [=default] [OUTput] [, @parameter_name datatype [=default] [OUTput]]...[)]] [WITH RECOMPILE] AS SQL_statements 下面是一个查询作者编码、名称和生日的存储过程: create proc p_auths @author_code varchar(10) as select author_code, name, birthdate from auths where author_code=@author_code 下面执行过程p_auths: p_auths @author_code=A00001 在CREATE PROC语句中,可以为参数赋缺省值,该值可以是任何常量。 当用户不提供参数值时,该值便作为参数值提供给过程。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
深圳公共营养师怎么申请补贴 深圳公共营养师补贴怎么领 深圳营养师工资待遇怎么样 ...出道16年一直不露额头,当他撩起刘海,效果堪比「 ”整容”_百度... ...刘海的鹿晗,重回颜值巅峰!换个发型堪比“整容”都有哪些?_百度... ...整容”叫尹正剪头,仅仅换个发型而已,为何会变化那么大呢?_百度... 会计考高级有什么要求 报考高级会计需要什么条件呢? 工程项目融资、建设、管理、运营等过程中各模式的英文简称及专业分析... 200平米别墅装修多少钱别墅装修需要注意些什么 12寸的电脑屏幕要比14,15寸的屏幕贵吗,是宽屏 存储过程是什么?谁能给我详细解答? 上海社保登陆密码重置 xr的屏幕12可以用吗 上海人社密码忘了怎么办 戴尔XPS 12屏幕怎么样 iphone12屏幕怎么看 苹果12游戏屏幕 苹果12的屏幕比8p更容易伤眼睛吗? iphone12的屏幕怎么样 苹果12的屏幕能承受中二百斤吗 k786时刻表经过那些站 萍乡到株洲火车站列车时刻表 成都火车北站有到湖南益阳的火车吗? 石家庄到承德的火车站列车时刻表 重庆到广西玉林火车有哪几班? 石家庄到涿州火车站列车时刻表 长沙到炎陵火车站列车时刻表 万州火车站列车时刻表 枝城 火车站 地址 iphone12屏幕按的坏吗 存储过程是什么意思? 电子鼓如何连接电脑 上海社会劳动保障网个人查询密码忘记了怎么办 架子鼓该如何录音?一定需要很多的设备吗?学生党求告知如何省钱录音… 存储设备的对存储过程的介绍 上海社保登录密码忘记 存储过程的具体解释。一步一步的告诉我下是什么意思 都是做什么的 我... 请教高手电子鼓。录音问题 独立声卡录制乐器人声问题 举例说明到底什么是存储过程啊 抖音直播打架子鼓怎样把声音送出来? 美得里DD308电子鼓 怎么连Cubase midi电子编程鼓使用教程 关于数据库存储过程的 如何将魔鲨DD506里的鼓伴奏传到电脑里??? 关于存储过程 健康码怎么更换? 存储过程中的 procedure、function和 package是干什么的,需要详细介 ... 电子鼓通过声卡连接音响监听的时候。鼓本身还有声音吗?