小弟是想给表table按照页码顺序给他插入到user表中,编译过程中没有出现错误
但是执行 EXEC COL 它却说我 SQL无效。。求解答
create or replace procedure col is
--定义变量
v_count1 number(10);
c_num number(10) := 1;
begin
--将表user_tab_lolums的行数赋予给v_count
select count(*) into v_count1 from user_tab_columns;
--将表user_tab_lolumns查入到表table_name总
While c_num <= v_count1 loop
INSERT INTO TABLE_COLUMNS
(TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH)
select TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH
--给user_tab_columns进行编码
from (select A1.*, rownum rn
from (SELECT * FROM user_tab_columns) A1)
where rn = c_num;
c_num := c_num + 1;
exit when c_num = v_count1;
end loop;
end;
------解决思路----------------------
exec col ; 这个语句,是不是在 plsql 的 sql 窗口里执行的?
放在 命令窗口执行就可以了。
或: 1# 的方法也可以。