Oracle之存储过程
发布时间:2020-12-12 15:00:33 所属栏目:百科 来源:网络整理
导读:前言 在学习JDBC的时候,因为CallableStatement遇到了这个存储过程,所以学习了一下存储过程,因为在网上看了很多教程,有些教程的SQL语句写的没问题,但是我就是运行不成功,原来是因为一些细节没有被提到. 这里我做一下记录,希望能够把细节都包括进去. SQL Windo
前言在学习JDBC的时候,因为CallableStatement遇到了这个存储过程,所以学习了一下存储过程,因为在网上看了很多教程,有些教程的SQL语句写的没问题,但是我就是运行不成功,原来是因为一些细节没有被提到. SQL Window和Command Window关于存储过程的语法,这里就不赘述. 一. SQL WindowSQLwindow是一个直接运行SQL语句的界面. 二. Command WindowCommand Window是类似于SQL*Plus命令终端的, 这两者在写存储过程的时候有点小差别. 带有参数的在SQL Window中创建存储过程/*创建语句,setComm: 存储过程的名字,(salary number): 参数类型,不用写范围.*/
create or replace procedure setComm(salary number) is /*这里用is或者as好像都可以,没发现有什么不同.*/ begin update 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 10
12 rows selected
总结
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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |