一道oracle的问题
写一个存储过程,用于创建一个名为Test的表,该表只有一个名字为coll的列,数据类型为整型。创建一个循环结构,插入数值到表中,直到有100条记录。用变量记录已存储到表中的记录数,当变量的值达到100时,使用BREAK语句退出循环
程序代码:
CREATE OR REPLACE PROCEDURE proc_test IS v_strsql VARCHAR2(1000); BEGIN v_strsql := 'create table Test(coll NUMBER)'; EXECUTE IMMEDIATE v_strsql; FOR i IN 1..100 LOOP v_strsql := 'insert into Test values(' || i || ')'; EXECUTE IMMEDIATE v_strsql; END LOOP; END;
若遇 EXECUTE IMMEDIATE 执行 DDL 语句权限不足的情况,要赋予用户相应权限,
例如创建表的操作,grant create any table to {oracle_user_name};