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  执行以后,就会生成以日期命名的表。