SUMSEN

Oracle&Sql爱好者,用友NC管理员

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2012年9月10日

摘要: http://blog.sina.com.cn/s/blog_5da3d5c50100ba7v.html1、行触发器有 for each row子句。语句触发器没有for each row 子句。2、行触发器,可以有 when 作为触发限制,可以使用new/old。语句触发器不能有when 作为触发限制。3、行触发器:对应DML语句所影响到的表中的每一行,触发器都要执行一遍。4、语句触发:对应DML语句所影响到的表中的所有行,触发器只执行一遍。例子:--测试表create table wdt_test(test number(20));--日志表create table wdt_log(log 阅读全文
posted @ 2012-09-10 16:37 sumsen 阅读(822) 评论(0) 推荐(0) 编辑

摘要: 1.基本结构CREATE OR REPLACE PROCEDURE 存储过程名字( 参数1 IN NUMBER, 参数2 IN NUMBER) IS变量1 INTEGER :=0;变量2 DATE;BEGINEND 存储过程名字2.SELECT INTO STATEMENT 将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条 记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND) 例子: BEGIN SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx; EXCEPTION WHEN NO_DAT 阅读全文
posted @ 2012-09-10 11:56 sumsen 阅读(261) 评论(0) 推荐(0) 编辑

摘要: -- 表create table test (names varchar2(12), dates date, num int, dou double);-- 视图create or replace view vi_test asselect * from test;-- 同义词create or replace synonym aafor dbusrcard001.aa;-- 存储过程create or replace produce dd(v_id in employee.empoy_id%type)asbeginenddd;-- 函数create or replace function e 阅读全文
posted @ 2012-09-10 11:55 sumsen 阅读(346) 评论(0) 推荐(0) 编辑

摘要: 存储过程返回结果集。*过程返回记录集。CREATE OR REPLACE PACKAGE pkg_testAS TYPE myrctype IS REF CURSOR; PROCEDURE get (p_id NUMBER, p_rc OUT myrctype);END pkg_test;/CREATE OR REPLACE PACKAGE BODY pkg_testAS PROCEDURE get (p_id NUMBER, p_rc OUT myrctype) IS sqlstr VARCHAR2 (500); BEGIN IF p_id = 0 THEN OPEN p_rc FOR SE 阅读全文
posted @ 2012-09-10 11:53 sumsen 阅读(1639) 评论(0) 推荐(0) 编辑