Oracle之存储过程
来源:互联网 发布:音悦台 for mac 编辑:程序博客网 时间:2024/05/16 01:32
前言
在学习JDBC的时候,因为CallableStatement遇到了这个存储过程,所以学习了一下存储过程,因为在网上看了很多教程,有些教程的SQL语句写的没问题,但是我就是运行不成功,原来是因为一些细节没有被提到.
这里我做一下记录,希望能够把细节都包括进去.
SQL Window和Command Window
关于存储过程的语法,这里就不赘述.
首先说两个东西:
我使用的是PL/SQL Developer.这个IDE里面可以创建一个SQL window和一个command window
一. SQL Window
SQLwindow是一个直接运行SQL语句的界面.
二. Command Window
Command Window是类似于SQL*Plus命令终端的,
这两者在写存储过程的时候有点小差别.
带有参数的
在SQL Window中创建存储过程
/*创建语句, setComm: 存储过程的名字, (salary number): 参数类型,不用写范围.*/create or replace procedure setComm(salary number)is /*这里用is或者as好像都可以,没发现有什么不同.*/beginupdate empcon set comm = salary where empno=1010; /*要执行的SQL语句*/end; /*结束*/
运行存储过程
begin setComm(300);end;/
在Command Window中创建存储过程
创建
SQL> create or replace procedure setComm(salary number) 2 is 3 begin 4 update empcon set comm = salary where empno=1010; 5 end; 6 /Procedure created
执行:
SQL> exec setComm(22);PL/SQL procedure successfully completed
查询结果:
SQL> select * from empcon;EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO----- ---------- --------- ----- ----------- --------- --------- ------ 7369 SMITH CLERK 7902 1980/12/17 800.00 20 7521 WARD SALESMAN 7698 1981/2/22 1250.00 500.00 30 7654 MARTIN SALESMAN 7698 1981/9/28 1250.00 1400.00 30 7782 CLARK MANAGER 7839 1981/6/9 2450.00 10 7788 SCOTT ANALYST 7566 1987/4/19 3000.00 20 7839 KING PRESIDENT 1981/11/17 5000.00 10 7876 ADAMS CLERK 7788 1987/5/23 1100.00 20 7900 JAMES CLERK 7698 1981/12/3 950.00 30 7902 FORD ANALYST 7566 1981/12/3 3000.00 20 7934 MILLER CLERK 7782 1982/1/23 1300.00 10 1010 3333 7839 2017/4/21 1 5002.00 22.00 10 9999 铜铁胆 7839 2017/4/21 1 5000.00 1500.00 1012 rows selected
总结
带参数的存储过程就不再介绍了,其实这里有个关键点,也是我第一次忽略的,就是在Command Window里面,创建完存储过程后,要记得添加
/
符号,不然,可能会发现,一直按回车就是结束不了,不过可以用ESC结束.
SQL> create or replace procedure setComm(salary number) 2 is 3 begin 4 update empcon set comm = salary where empno=1010; 5 end; 6 7 8 9 10 11 12 13 14
0 0
- oracle之存储过程
- Oracle之存储过程
- Oracle之存储过程
- Oracle之存储过程
- Oracle之存储过程
- Oracle之基本存储过程
- oracle存储过程之immediate
- oracle印象之存储过程
- oracle存储过程之游标
- 【Oracle学习】之 存储过程
- Oracle学习之存储过程
- oracle学习之存储过程
- [ oracle ] oracle之路4---存储过程!
- ORACLE存储过程(二)之存储过程的调用
- oracle之存储过程2-创建存储过程
- oracle之存储过程3-执行存储过程
- oracle之存储过程4-存储过程变量的使用
- 存储过程之八-java代码调用oracle存储过程
- js 时间类型的转化
- JavaScript判断浏览器种类
- 插入(<<)和提取(>>)运载符的重载
- 视图动画
- jsp页面中,以radio赋值(与 “jsp页面中,以radio取值” 成对)
- Oracle之存储过程
- 输入表单输入完一个后按住enter光标自动跳到下一个表单
- vue -- v-cloak解决刷新或者加载出现闪烁(显示变量)
- C和C++字符字节数大小问题
- Java interface
- POI2008 BZOJ 1116 CLO -并查集-基环树
- 别人都在做微商?切不可盲从
- JAVA设计模式之适配器模式
- Sublime Text 3 3126 注册码