pl sql不是sql,不能将select 结果直接输出到屏幕上 直接在plsql代码块中执行select * from tablename将会产生语法错误
当然啦,比如你的存储过程要返回一个结果集。 比如你的存储过程中要对select的结果集做一个转换或者是计算。 select ××1 into ××2 就是把值放在一个变量里面,下面就可以直接使用这个变量 比如 select id,name,age into v_id,v_name,v_age from user; 下面可以 if v_id = 1 then ****; end if; if v_name='Smith' then ***; elsif v_name='Jacky' then ***; else ***; end if; 等等,跟编程语言的变量概念是一样的。
begin
select * from user;
end
这个存储过程怎么报语法错误?
begin
select * from user;
end
这个存储过程怎么报语法错误?end后边没有“;”号。
begin
execute immediate 'select * from old_lg';
end;
少一个;
还有执行单纯的select 好像不行
plsql中查询语句需要将结果集赋到变量或游标中,如果查询结果为单行,用into .. 变量
若返回多行,需要用游标,或plsql表来存储
直接在plsql代码块中执行select * from tablename将会产生语法错误
比如你的存储过程中要对select的结果集做一个转换或者是计算。
select ××1 into ××2
就是把值放在一个变量里面,下面就可以直接使用这个变量
比如
select id,name,age into v_id,v_name,v_age from user;
下面可以
if v_id = 1 then
****;
end if;
if v_name='Smith' then
***;
elsif v_name='Jacky' then
***;
else
***;
end if;
等等,跟编程语言的变量概念是一样的。
plsql中查询语句需要将结果集赋到变量或游标中,如果查询结果为单行,用into .. 变量
若返回多行,需要用游标,或plsql表来存储