oracle begin end用法 oracle如何执行拼接的sql语句,并把查询结果赋值给变量?
oracle如何执行拼接的sql语句,并把查询结果赋值给变量?单独定义声明变量后,在语句里使用into,如下: select count(*) into num from table1;oracle中
oracle如何执行拼接的sql语句,并把查询结果赋值给变量?
单独定义声明变量后,在语句里使用into,如下: select count(*) into num from table1;
oracle中动态sql语句,表名为变量,怎么解?
表名可用变量,但一般需要用到动态sql,举例如下: declare v_date varchar2(8)--定义日期变量 v_sql varchar2(2000)--定义动态sql v_tablename varchar2(20)--定义动态表名 begin select to_char(sysdate,"yyyymmdd") into v_date from dual--取日期变量 v_tablename := "T_"||v_date--为动态表命名 v_sql := "create table "||v_tablename||" (id int, name varchar2(20))"--为动态sql赋值 dbms_output.put_line(v_sql)--打印sql语句 execute immediate v_sql--执行动态sql end 执行以后,就会生成以日期命名的表。