oracle存储过程into
1. oracle存储过程select语句必须带into吗
oracle存储过程select语句必须带into。因为要将查询结果放到变量中,如以下存储过程:
sql">createorreplaceprocerep_test
as
v_begintimevarchar2(20);
v_endtimevarchar2(20);
v_strvarchar2(10);
begin
v_begintime:=to_char(sysdate,'yyyy-mm-ddhh24:mi:ss');
select'badkano'intov_strfromal;
v_endtime:=to_char(sysdate,'yyyy-mm-ddhh24:mi:ss');
dbms_output.put_line('开始时间为:'||v_begintime);
dbms_output.put_line('结束时间为:'||v_endtime);
end;
其中select 'badkano' into v_str from al;此句就是将“badkano”放入变量“v_str”中。
2. 在oracle执行存储过程出现: 在此select语句中缺少into子句
oracle的存储过程中不能直接select,必须要将结果放到变量中,即类似select count(*) into count1 from checkTmp这种写法。
直接写成select * from checkTmp order by expressID肯定会报错的,因为oracle不知道你要select干什么。
3. ORACLE 存储过程 在此 SELECT 语句中缺少 INTO 子句,怎么办
select出来的结果要放到变量中去,select ... into .... from ... where ....
4. oracle存储过程实例 为什么 要INTO
你说的是procere或者function中的select 列 into 变量 from 。。。这种结构吧。
这就是plsql的语法规则。不难理解,你在程序中从一张表中获取了某列或某些列的值,要想使用肯定要赋值给变量的,那么select 。。into 就是为了赋值而定义的一种语法。
5. 关于oracle存储过程select into 未找到数据问题
第一张图的update不会执行,因为select
。。into报错就直接到exception上了
第二张图可以执行update,但是如果select没有exception,你的update也就不会执行了。
exception有些象过程语言的goto语句,但它只在出现例外时才执行update,没有例外就不执行
6. Oracle使用merge into 编写存储过程 遇编译错误:PL/SQL: ORA-00926: 缺失 VALUES 关键字
Oracle使用merge into 编写存储过程 遇编译错误,是设置错误造成的,解决方法如下:
1、首先新建存储过程,Create or ReplaceProcere CHK_SYS_EMP 检查系统工号。