我的表名是动态的,每天生成一个表,我想把存储过程里面的表名写成变量进行查询,但是报错表或试图不存在,不知道是什么样的形式能够实现,请大虾帮帮忙啊,解决后给200分都不是问题!谢谢
50分留给追加
动态sql是什么?
追答比如
v_sql:='insert into tmp_table as select * from '||v_table;
EXECUTE IMMEDIATE v_sql;
这里的v_table这个变量就是不确定的表名
你咋知道是假的?
Oracle存储过程中如何把表名写在变量里面进行查询该表?
大概这样 create or replace procedure p_XX(tabName in varchar2) is type t_cursor is ref cursor;v_cursor t_cursor;v_SQLStatement varchar2(300);begin v_SQLStatement = 'select xx from '||tabName ;open v_cursor for v_SQLStatement;loop fetch v_cursor into XXX;exit wh...
oracle查询表名为一个变量怎么写
用固定的语法结构写。简单来说,就是你一个存储过程当中创建了一个表table_a,然后要用insert into将其他的数据插入到这个table_a当中,但是因为你在创建过程的时候 table_a还不存在,过程就会显示有编译错误。因为table_a不存在必然导致过程无法执行,所以无法编译成功,而把insert into语句加如到execute...
oracle 存储过程输出参数咋样放在一个变量里面。 getspacename是一个存 ...
create or replace procedure getspacename (out_value out varchar2)as begin --添加你的代码...out_value:= 给该变量赋值;end;调用该存储过程:SQL> var c varchar2(10);SQL> exec getspacename(:c)希望对你有所帮助!
oracle存储过程中Insert表名(字段名)values(字段名)
insert into 表名 values后面括号里应该是值,而不是字段名;如果是从另外一个表里插入到当前表,应该是这样写:Insert Into TI_AIS_ADDRLINE (ADDR_ID --地址标识 ,DIST_CD --行政区划代码 ,POST_CD --邮政编码 ,POST_CD1 --邮政编码1 ,POST_CD2 --邮政编码2 ,ADDR_NAME ...
oracle的存储过程里面怎样引用表的名称?
在Oracle中这样写是不行的,在存储过程中所有查询返回的结果或结果集都必须有接受变量,如果你的存储过程是返回一个记录集,必须定一个ref的游标变量,使用open cursor for select。。。这样的格式才能返回数据集
oracle 的存储过程中 动态的创建一张表 然后插入一个变量到这个表中,表...
1、execute immediate ' insert into addtopinfo values('||sysdate||','||v_name||')'; v_name 既然是变量 怎么可能会用' '括号起来;就算是 直接执行 的话 也是 execute immediate ' insert into addtopinfo values(sysdate,v_name);2、如果有v_name的话 ,我建议你一般用拼sql的方式来...
oracle存储过程如何动态修改表名关联查询
VSQL varchar2(2000)day varchar2(2);begin day:= to_char(sysdate-1,'dd');VSQL:=' selectsum(sms.send_count) into sa_send_cnt from core_school sc inner join sms_mt_send sms on sc.school_id = sms.school_id inner join sms_mt_send_detail_'||day||' detail...
plsql怎样把存储过程中查询的表的值赋给变量
select count(*) into x from a 在ORACLE里面直接这么写就可以了。
oracle 存储过程 sql中in变量问题
select count(*) into v_count from t where type in(a);应该是有问题的.可以这样尝试一下:a varchar2(N);execute immediate 'select count(1) from t where type in('||a||')' into v_count ;还要注意传入的变量,引号别弄丢了...应该是可以的,我没有测试,很久没有动过这些了....
oracle动态表名查询 如何写sql语句或者存储过程实现: 根据某张表中的某...
begin for cur in(select id,flag fromu a)loop if cur.flag=0 then select * from b;...else select * from C;...end if;end loop;end;