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

命名的pl/sql语句块称为可以被称为什么和函数,它们的集合称为什么

发布网友 发布时间:2022-05-02 04:39

我来回答

3个回答

懂视网 时间:2022-05-02 09:00


exec query_employee(7788,:name);

print name ;


eg4)带有IN OUT参数

create or replace procedure compute

(num1  IN OUT number)

eg5)给子程序传递变量和数据

create or replace procedure add_dept

(dno number,dname varchar2 default null,loc varchar2 default null)

is

begin

insert into dept values(dno,dname,loc);


传递变量

exec add_dept(50,‘sales‘,‘new youk‘);

exec add_dept(60);

exec add_dept(70,‘add‘);

exec add_dept(dname=>‘sals‘,dno=>50);

exec add_dept(dno=>60);

exec add_dept(70,dname=>‘dsldsf‘);


【过程函数的维护 】user_source;

建立了过程之后,Oracle会将过程名,源代码及其执行代码存放到数据字典中,当调用过程时,应用程序会按照其执行代码直接执行,而不需要重新解析过程代码,所以子程序优于执行直接sql语句

select text from user_source where name =‘ADD_DEPT‘;

drop procedure add_dept;

select object_name ,created,status from user_objects where object_type in (‘PROCEDURE‘,‘FUNCTION‘); user_objects包含了当前用户的所有对象。

【编译的排错】USER_ERRORS维护此用户当前的错误

show errors procedure procedure_name;

select line||‘/‘||position  ,text from user_errors where name=‘XXXNAME‘;


【函数和过程有个依赖关系】

依赖关系有直接还有间接,间接就是隔山打牛,直接你就懂了,引用了哪个对象,哪个对象就叫做被引用对象,两种方法确定关系,数据字典user_dependencies 和deptree ideptree后者可以确定直接还是间接依赖,唯一需要注意的是当修改了被引用对象的结构时,相关依赖对象就会变成无效状态,需要重新编译这些存储对象

alter procedure add_employee complie;

alter view dept10 complie;

alter function get_info complie;

http://aklaus.blog.51cto.com/9724632/1950055 这个说明替代变量的使用


【函数】用于返回特定的数据,语法如下

create or replace function function_name

(argument1 [model1] datatype1,

argument2 [model2] datatype2,

...)

return datatype

is|as

plsql block;

注意的是 函数的头部必须带有return字句,在函数体内至少存在一条return语句。

eg1)最简单的函数

SQL> create or replace function get_user
  2  return varchar2
  3  is
  4  v_user varchar2(10);
  5  begin
  6  select username into v_user from user_users;
  7  return v_user;
  8  end;
  9  /
SQL> var v1 varchar2(100);
SQL> exec :v1:=get_user;   利用替代变量及调用使用方法,有歧义的是exec :v1:get_user为什么执行完之后就显示了结果,有可能是环境变量问题
v1
---------
SCOTT

SQL> print v1
v1
---------
SCOTT

SQL> select get_user from dual;
GET_USER
--------------------------------------------------------------------------------
SCOTT
SQL> set serveroutput on;
SQL> exec dbms_output.put_line(get_user);
SCOTT
PL/SQL procedure successfully completed

之后的就是带参数IN OUT之类的用法 注意如果带了out参数,那么必须定义变量接收out参数的输出值,不能在sql语句中调用该函数。

【函数的使用限制】

函数必须返回数据,只能作为表达式的一部分调用,函数可以使用以下地方调用:

select命令

where跟having字句

connect by startwith order by 以及group by

insert values中

update set 中

sql语句中只能调用存储函数(服务器端的) 调用的函数只能带有输入参数,函数类型不能是plsql特有的数据类型如boolean table record 调用的函数不能包含insert update delete语句

本文出自 “运维邦” 博客,谢绝转载!

PLSQL子程序即PLSQL块

标签:create procedure   函数   function   过程   

热心网友 时间:2022-05-02 06:08

称为存储过程和函数,它们的集合称为子程序

热心网友 时间:2022-05-02 07:26

declared @i int declared @j int set @i=2 set @j=1 while @j<=100 begin if --'判断@j是素数 这个你自己去写就可以了 许多程序都差不多 print @j end
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
粒上皇开口熟栗120g*5袋(共600g)-详细介绍 三皇王板栗介绍 品牌榜:2024年板栗十大品牌排行榜 投票结果公布【新】 为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 电影&lt;&lt;铁人&gt;&gt;(王进喜)在誓师大会上,王进喜的演讲台词??? 男袜纯棉好还是70%好 我们要不惜一切代价,宁可少活十年20年, 也要拿下大油田 在家做腊肉的时候,需要注意哪些步骤呢? 腊肉做法,腊肉怎么做,如何做腊肉教育 古诗竖着写怎么写,点力图库 腊肉要怎么腌才好吃呢? 赠汪伦古诗竖着写格式 怎样腊腊肉腊肉要下多少盐,下什么料 请问三星S7edge怎么root?试了好几次都失败了,否则就是还没有相关root方 S7 edge ROOT之后支付宝指纹支付还能用吗 日版sanxing s7 edge sc-02h 怎么root s7edge怎么取消root后 三星盖乐世s7edge手机能不能root s7 edge root有什么好处 三星s7 edge G9350 怎么一键Root 自酿葡萄酒能有多少度?怎样测量?谢谢~~ 怎样科学地饮用葡萄酒? 葡萄酒怎么喝? 黄酒和葡萄酒如何量酒精度。 王进喜常说:宁肯少活20年,拼命也要拿下大油田.这个大油田指的是? 求《铁人》电影观后感一篇,800字左右!! 王进喜 “宁可少活二十年”还是“宁肯少活二十年”? 门牙牙龈肿 说话不清楚,记忆力也在下降,能吃什么药 我想买双纯棉的袜子怎么那么难啊啊啊啊 60年代的“铁人”王进喜说:“宁肯少活20年,拼命也要拿下大油田。”90年代科技战线上的“铁人”王启民说 五岁了还不会说话,应该吃什么药呢 铁人观后感 s6000蓝牙键盘在ipad如何切换输入法? “宁肯少活二十年,拼命也要拿下大油田” 翻译为英文 两岁半,孩子老是不说话,吃孕智贝佳有用吗? 脚又肥又大纯棉男袜欧码哪有卖的? 其他应付款的明细表怎么做啊? 请问(中过风 连讲话不清楚)吃大活丸 还是安宫牛黄丸呢? 结婚之前经常做梦梦见结婚当天缺东西,不是缺鞋,就是没有婚纱,再不就是时间来不及还没化妆,这是为什么 原声曝光!王进喜实况录音首度公开,我们是否该向“铁人精神”致敬? 门牙里面的牙龈肿了,吃什么药比较好 大门牙牙龈肿了老是出血 做应付账款表格。看见前任留下来的表格有一点疑惑?