//trigger:
create or replace trigger trig_name ON {table | view } [with encryption]{
{
{
for | after | INstead of
}
}
}
after update or insert or delete ON emd_smar
AH BMP-6207- Add a four-dimensional generic Enrollment & Engagement report test case
procedure: 可以有多个返回值,也可以没有返回值。 out, in
Function: 只能有一个返回值, 可以是一个大对象比如:临时表的数组就是有多条记录。也可以是一个值 比如:VARCHAR2 return
它们的区别。
package: header: 负责定义 所有的全局变量 和 produrce,Fuction。相等interface
body: header的具体实现。
在存储过程中如果获得值是NULL时用 IF 变量 IS NOT NULL THEN END; 判断
- -l_excel_template 变量
如果是“ ”空时用 IF l_excel_template =' 'THEN END IF;
如果没有检索到值用
EXCEPTION
WHEN NO_DATA_FOUND THEN 判断
否则报错:
自定义类型: type xxx is table of varchar(30);
游标: 。。。 l_cursor cursor for (select id , name form person); Fetch cursor_name INTO list_of_Variables
游标有4个属性 :%Isopen, %found, %Notfound,(前两个是布尔值) %rowcount(这个是整数值).
从游标得到一行数据使用Fetch 命令。每一次提前数据后,游标都指向结果集的下一行。
fetch cursor_name into variable[,variable,...]
new_extract_rec new_extract_cur%ROWTYPE;
open new_cursor_name
loop
fetch new_cursor_name into new_extract_cur;
exit when new_cursor_name%NOtfound;
v_body := v_body || rpad(new_extract_cur.brand,15);
end loop;
close new_cursor_name ;
也可以用for实现
For cur_rec 相当于变量 IN cursor_name(游标名称)
loop
循环赋值;
end loop;
exception
when others then
logger.error(c_log_unit, l_msg);
end
get_enrollment_engagement_data方法L_code(600)
,MARKETING SOURCE DESCRIPTION
,RESPONSE SOURCE DESCRIPTION
l_sql := 'SELECT s.bms_code ||'' (''|| s.bms_desc||'')''
l_sql := 'SELECT s.bms_code || '','' || s.bms_desc
l_sql := 'SELECT s.brs_code||'' (''|| s.brs_desc ||'')''
,,
我们将介绍显式游标(Explicit Cursor)和隐式游标(Implicit Cursor)。显式游标要声明(Declare),在使用前要打开(Open),使用完毕要关闭(Close)。使用隐式游标时,用户无须执行上述步骤,只要简单地编码
SELECT语句并让PL/SQL根据需要处理游标即可。
定义p_analyzed in varchar2 default 'N',
if p_analyzed = 'Y' then
END IF;
declare
v_id integer,
v_name varchar(40);
cursor cursor_tempName is select * from employee where emp_id =3;
begin
open cursor_tempName ;
loop
fetch cursor_tempName into v_id, v_name;
exit when cursor_tempName% notfound;
end loop;
close cursor_tempName;
dbms_output.put_line(v_name);
exception
when no_data_found then
dbms_output.put_line(NO data!);
end;
For in: For xxx in 0...9
frech l_cursor into xxx,xx
Loop:
相关文章
- Oracle 创建存储过程 提示权限不足或者提示表和视图不存在问题
- oracle存储过程、函数、触发器和包
- SQL中存储过程和自定义函数的区别(转载)
- MySQL与Oracle 差异比较之五存储过程&Function
- 连接英文字符集的ORACLE和调用存储过程问题及64位服务器连接ORACLE问题
- ibatis调用oracle的函数,存储过程的方法_IN_和OUT_游标
- C#处理MySQL数据库和SQL Server数据库的区别(存储过程的编写与调用、中文乱码、二进制图片存储与调用)
- oracle 存储过程 stored procedure 查询一条记录或多条记录
- mysql存储过程之创建(CREATE PROCEDURE)和调用(CALL)及变量创建(DECLARE)和赋值(SET)操作方法
- oracle)PL/sql存储过程中直接使用insert...select语句,统计数据分别变0和1?