资源描述:
《存储过程,方法,触发器,视图》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《PL/SQL编程》 /*procedurallanguage/sql*/--1、过程、函数、触发器是pl/sql编写的--2、过程、函数、触发器是在oracle中的--3、pl/sql是非常强大的数据库过程语言--4、过程、函数可以在java程序中调用--提高效率:优化sql语句或写存储过程--pl/sql移植性不好--IDE(IntegrationDevelopEnvironment)集成开发环境--命令规则:--变量(variable) v_--常量(constant) c
2、_--指针、游标(cursor) _cursor--例外、异常(exception) e_--可定义的变量和常量: --标量类型:scalar --复合类型:composite --存放记录、表、嵌套表、varray --参照类型:reference --lob(largeobject) 《PL/SQL基本语法》--例:创建存储过程createorreplaceprocedurepro_addisbegin insertintomytestvalues('韩xx','123');end;execpro_add;--调用--查看错误信息showerro
3、r;--调用过程exec过程(c1,c2,...);call过程(c1,c2,...);--打开/关闭输出选项setserveroutputon/off--输入&--块结构示意图declare --定义部分,定义常量、变量、游标、例外、复杂数据类型begin --执行部分,执行pl/sql语句和sql语句exception--例外处理部分,处理运行的各种错误end; --结束--《实例演示》declare v_ivalnumber(4):=100;--声明并初始化变量 --v_dtmdate; v_dtmsyslogs.dtm%type;--取表字段类型
4、v_contentvarchar(512);begin v_ival:=v_ival*90; --赋值运算 insertintosyslogsvalues(seq_syslogs.nextval,10,sysdate,'v_ival='
5、
6、v_ival,user);--数据库存储 dbms_output.put_line('v_ival'
7、
8、v_ival); selectcount(*)intov_ivalfromsyslogs;--使用select查询赋值--selectename,salintov_name,v_salfromempwhereempno=&aa; i
9、nsertintosyslogsvalues(seq_syslogs.nextval,10,sysdate,'日志条数='
10、
11、v_ival,user); dbms_output.put_line('日志条数'
12、
13、v_ival); --获取日志序号==11的日志时间和日志内容 selectdtm,content intov_dtm,v_content fromsyslogs wherelogid=14; insertintosyslogsvalues(seq_syslogs.nextval,'10',sysdate,'v_dtm='
14、
15、v_dtm
16、
17、'v_conten
18、t='
19、
20、v_content,user); dbms_output.put_line('v_dtm='
21、
22、v_dtm
23、
24、'v_content='
25、
26、v_content); --修改日志序号=11的日志记录人 updatesyslogs setwhois='PL/SQL.'
27、
28、v_ival wherelogid=14; --deletesyslogswherelogid=15; --分支流程控制 ifv_ival>50then dbms_output.put_line('日志需要清理了~'); else dbms_output.put_line('日志空间正常!
29、'); endif; --Loop循环 v_ival:=0; loop exitwhenv_ival>3; --循环体 v_ival:=v_ival+1; dbms_output.put_line('loop循环:'
30、
31、v_ival); endloop; --While循环 v_ival:=0; whilev_ival<4 loop --循环体 v_ival:=v_ival+1; dbms_output.put_line('while循环:'
32、