dbms_sql封装过程中主要函数 1、open_cursor:返回新游标的id值 2、parse:解析要执行的语句 3、bind_variable:将给定的数量与特
dbms_sql封装过程中主要函数
1、open_cursor:返回新游标的id值
2、parse:解析要执行的语句
3、bind_variable:将给定的数量与特定的变量相连接
4、define_coloumn:定义字段变量,其值对应于指定游标中某个位置元素的值
(仅用于select语句)
5、execute:执行指定的游标
6、execute_and_fetch:执行指定的游标并取记录
7、fetch_rows:从指定的游标中取出记录
8、column_value:返回游标中指定位置的元素
9、is_open:当指定的游标状态为open时返回真值
10、close_cursor:关闭指定的游标并释放内存
11、last_error_position:返回出错sql语句的字节偏移量
12、last_row_id:返回最后一条记录的rowid
13、last_sql_function_code:返回语句的sql function code
例1:
create or replace procedure lnq (v_cardno varchar2, v_wdate datetime,v_wtime datetime)
is
vc1 number;
vi1 integer;
vstr1 varchar2(300);
begin
-定义sql命令
vstr1:='delete from emp where cardno=:cardno and wdate=:wdate and wtime=:wtime';
创建一个游标
vc1:=dbms_sql.open_cursor;
向服务器发出一个语句并检查这个语句的语法和语义错误
dbms_sql.parse(vc1,vstr1,dbms_sql.v7);
assign parameter value
dbms_sql.bind_variable(vc1,':cardno',v_cardno);
dbms_sql.bind_variable(vc1,':wdate',v_wdate);
dbms_sql.bind_variable(vc1,':wtime',v_wtime);
执行此语句,,因为执行的是查询,所以必须跟着fetch_rows函数并为单个行检索数据
vi1:=dbms_sql.execute(vc1);
关掉游标
dbms_sql.close_cursor(vc1);
end;