您的位置:首页 > 数据库 > Oracle

Oracle-CURSOR及EXECUTE IMMEDIATE使用

2014-11-12 10:31 106 查看
CREATE OR REPLACE
PROCEDURE P_REPLACE IS
v_sql VARCHAR2(2000);
CURSOR cur IS SELECT * FROM user_tab_cols;
tableinfo user_tab_cols%rowtype;
BEGIN
OPEN cur;
LOOP
FETCH cur INTO tableinfo;
EXIT WHEN cur%notfound;
v_sql:='UPDATE '||tableinfo.table_name||' SET '||tableinfo.column_name||'='||'replace('||tableinfo.column_name||','||''''||'-'||''''||','||''''||''''||')';
dbms_output.put_line(v_sql);
EXECUTE IMMEDIATE v_sql;
COMMIT;
END LOOP;
EXCEPTION WHEN others THEN
dbms_output.put_line(SQLERRM);
CLOSE cur;
END P_REPLACE;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: