CREATE OR REPLACE PROCEDURE PROCEDURE_NAME(args1 in varchar2,...args2 out varchar2) is LVC_ERROR VARCHAR2(4000); -- 错误序号 自定义变量 BEGIN ... EXCEPTION WHEN OTHERS THEN LVC_ERROR := SQLERRM; ROLLBACK; RAISE_APPLICATION_ERROR(2000, 'ERROR:' || LVC_ERROR); END PROCEDURE_NAME;
知识点
变量赋值:
AVC_CODE := '2004';
每一句sql语句的结尾需要加上分号";"
日期比较用trunc 函数 select trunc(sysdate)-2 from dual
游标的使用:
变量声明
CUR_DRXX_LIST OUT PKG_TYPES.REF_CURSOR
赋值
OPEN CUR_DRXX_LIST FOR select ... from table
空值
OPEN CUR_DRXX_LIST FOR SELECT NULL nsrsbh, NULL nsrmc, NULL nsrSwjgDm FROM DUAL; RETURN
判断条件为空时,返回可直接用 return;
当使用游标时, GOTO ONERROR;
IF AVG_PCL_XH IS NULL THEN AVC_CODE := '2004'; AVC_ERR_MESS := 'P_NSFW_XYDJ_MDDR_SAVE_HXCL.AVG_PCL_XH为空'; GOTO ONERROR; END IF; 。。。 <<ONERROR>> OPEN CUR_DRXX_LIST FOR SELECT NULL nsrsbh, NULL nsrmc, NULL nsrSwjgDm FROM DUAL; RETURN;
update语句可以使用普通的方法,也可以用下面这种
UPDATE NSFW_XYDJ_MDDR_LSB L SET (NSRMC, NSR_SWJG_DM,DRJG) = (SELECT NSRMC, NSR_SWJG_DM, 'Y' FROM CTAIS2.DJ_NSRXX C WHERE C.NSRSBH = L.nsrsbh) where L.pcl_xh = AVG_PCL_XH;
If的使用,类似VB的语法
if then ... else ... end if
相关推荐
修改后的oracle游标总结,比较的全面 修改后的oracle游标总结,比较的全面 修改后的oracle游标总结,比较的全面
procedure sp_Page(p_PageSize int, --每页记录数 p_PageNo int, --当前页码,从 1 开始 p_SqlSelect varchar2, --查询语句,含排序部分 p_OutRecordCount out int,--返回总记录数 p_OutCursor out refCursorType)...
oracle 10g问题总结 1. 查询oracle中所有用户信息 select * from dba_users; 2. 只查询用户和密码 select username,password from dba_users; 3. 查询当前用户信息 select * from dba_ustats; 4. 查询...
(1) 了解Oracle的工作环境和基本使用方法。 (2) 练习标准SQL的数据操作,查询命令及其查询优化。 (3) 学会使用高级SQL命令,排序、分组、自连接查询等。 (4) 学会使用SQL*PLUS命令显示报表,存储到文件等。 【实验...
介绍了oracle存储过程的实现、存储过程的调用和触发器语法及实例的基础知识
1、创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out type) as –声明变量(变量名 变量类型) begin –存储过程的执行体 end test; 打印出输入的时间信息 E.g: create or replace ...
以下是对Oracle中dbms_metadata.get_ddl的用法进行了详细的分析介绍,需要的朋友参考下
完全本人根据15年社保工作经验,结合多年数据转换总结,本脚本适合oracle资深玩家下载调试后应用于生产,一般人玩不了的 1、下载解压。2、学习了解脚本自动比对源表目标表机制(字段名、注释名自动字符串匹配机制)...
本人总结的Oracle 常用的一些 集合函数,全是基础,大侠飘过,开始使用Oracle开发的同志参考
总结: exec是sqlplus的命令,只能在sqlplus中使用。 call是sql命令,任何工具都可以使用,call必须有括号,即例没有参数 call必须有括号,即例没有参数 idle> connect /as sysdba 已连接。 sys@PO10> sys@PO10> ...
在oracle中,函数和存储过程是经常使用到的,他们的语法中有很多相似的地方,可是也有它们的不同之处,这段时间刚学完函数与存储过程,来给自己做一个总结: 一:存储过程:简单来说就是有名字的pl/sql块。 语法结构...
Oracle存储过程、包、方法使用总结,具体代码如示: /** *@author:zhengwei *@date:2017-04-28 *@desc:存储过程用法总结 */ CREATE OR REPLACE PROCEDURE MYPROCEDURE(P_ID IN VARCHAR, P_STATUS OUT ...
2) 使用 viso 画出 oracle 的体系架构图并且对架构中的模块做简要说明,对 dbms 主 要的参数配置进行总结和说明。 3) 新建 t_user , t_role , t_user_role 表 先不要建立索引和主外键,编写一个存储过程 Create ...
这是一篇关于oracle开发入门详细文档,是我自己开发总结出来的。还包括各种开发的最佳实践,喜欢对各位想学oracle pl/sql开发的人有所帮助。
总结 37 问与答 38 校练场 38 练习 39 第三天表达式条件语句与运算 40 第四天函数对数据的进一步处理 60 目标 60 汇总函数 60 COUNT61 SUM 61 AVG 63 MAX 63 MIN 64 VARIANCE65 STDDEV66 日期/时间函数66 ADD_...
总结: exec是sqlplus的命令,只能在sqlplus中使用。 call是sql命令,任何工具都可以使用,call必须有括号,即例没有参数 call必须有括号,即例没有参数 idle> connect /as sysdba 已连接。 sys@PO10> sys@PO10> ...
总结: exec是sqlplus的命令,只能在sqlplus中使用。 call是sql命令,任何工具都可以使用,call必须有括号,即例没有参数 call必须有括号,即例没有参数 idle> connect /as sysdba 已连接。 sys@PO10> ...
存储过程(Stored Procedure)是一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。 (2)存储过程的基本写法...
15.3.2 使用CREATE PROCEDURE创建存储过程 15.3.3 使用EXECUTE语句调用存储过程 15.3.4 使用CREATE FUNCTION创建函数 15.3.5 使用Enterprise Manager创建存储过程和函数 15.3.6 修改和删除存储过程和函数 ...
15.3.2 使用create procedure创建存储过程 309 15.3.3 使用execute语句调用存储过程 310 15.3.4 使用create function创建函数 312 15.3.5 使用enterprise manager创建存储过程和函数 315 15.3.6 修改和删除存储...