一、编辑存储过程
1、在右侧的包名上右键选择“edit”就可编辑
2、在顶部菜单中点击“tools”->“Export User Objects”,在弹出的界面中复选要编辑的package和package body选择导出的路径,把文件导出后进行编辑。然后在顶部菜单中选择“file”->“new”->“Command window”,然后在界面中输入@c:/1.sql(sql文件的全路径)。将编辑后的文件导入到数据库中。
二、使包可以调试
选中包,右键勾选add debug information即可
三使用动态游标
type T_XMLREFCUR is REF CURSOR;
XNODE_CUR T_XMLREFCUR;
BEGIN
SQL_XNODE := 'SELECT '|| '''<'||IN_NODE_NAME ||' id="'''||'||'||IN_Q_ID_COLUMN||'||'||'''">'''||'||'||IN_Q_VALUE_COLUMN||'||'||'''</'||IN_NODE_NAME||'>'''||
' FROM '||IN_TABLE||
' WHERE LANGUAGE ='||IN_LANGUAGE;
OPEN XNODE_CUR FOR SQL_XNODE;
LOOP
FETCH XNODE_CUR
INTO V_TMP_XNODE;
EXIT WHEN XNODE_CUR%NOTFOUND;
V_OUT_XMLNODE := V_OUT_XMLNODE || V_TMP_XNODE||CHR(13)||CHR(10);
END LOOP;
四、判断某张表中的某个字段是否存在
使用ORACLE的系统表来完成这项任务:
if exists ( select 1 from Dba_Tab_Columns where table_name = 'TABLE_NAME' and column_name = 'COLUMN_NAME' ) then......
--但是exists好像不能用于存储过程,所以使用count方法变通一下
SELECT COUNT (column_name) INTO V_COUNT FROM Dba_Tab_Columns
WHERE table_name = 'TABLE_NAME' AND column_name = 'COLUMN_NAME';
IF (V_COUNT > 0) THEN
--说明在TABLE_NAME表中存在COLUMN_NAME字段......
END IF;
--注意:输入的表名和字段名都必须是大写的,否则查不到记录
1、在右侧的包名上右键选择“edit”就可编辑
2、在顶部菜单中点击“tools”->“Export User Objects”,在弹出的界面中复选要编辑的package和package body选择导出的路径,把文件导出后进行编辑。然后在顶部菜单中选择“file”->“new”->“Command window”,然后在界面中输入@c:/1.sql(sql文件的全路径)。将编辑后的文件导入到数据库中。
二、使包可以调试
选中包,右键勾选add debug information即可
三使用动态游标
type T_XMLREFCUR is REF CURSOR;
XNODE_CUR T_XMLREFCUR;
BEGIN
SQL_XNODE := 'SELECT '|| '''<'||IN_NODE_NAME ||' id="'''||'||'||IN_Q_ID_COLUMN||'||'||'''">'''||'||'||IN_Q_VALUE_COLUMN||'||'||'''</'||IN_NODE_NAME||'>'''||
' FROM '||IN_TABLE||
' WHERE LANGUAGE ='||IN_LANGUAGE;
OPEN XNODE_CUR FOR SQL_XNODE;
LOOP
FETCH XNODE_CUR
INTO V_TMP_XNODE;
EXIT WHEN XNODE_CUR%NOTFOUND;
V_OUT_XMLNODE := V_OUT_XMLNODE || V_TMP_XNODE||CHR(13)||CHR(10);
END LOOP;
四、判断某张表中的某个字段是否存在
使用ORACLE的系统表来完成这项任务:
if exists ( select 1 from Dba_Tab_Columns where table_name = 'TABLE_NAME' and column_name = 'COLUMN_NAME' ) then......
--但是exists好像不能用于存储过程,所以使用count方法变通一下
SELECT COUNT (column_name) INTO V_COUNT FROM Dba_Tab_Columns
WHERE table_name = 'TABLE_NAME' AND column_name = 'COLUMN_NAME';
IF (V_COUNT > 0) THEN
--说明在TABLE_NAME表中存在COLUMN_NAME字段......
END IF;
--注意:输入的表名和字段名都必须是大写的,否则查不到记录
本文详细介绍了在Oracle PL/SQL Developer中编辑、调试存储过程的方法,包括使用动态游标处理数据以及检查数据库表中字段存在的技巧。通过导出和导入文件进行过程编辑,添加调试信息以辅助开发,利用REF CURSOR处理查询结果,以及通过查询Dba_Tab_Columns系统表来判断表字段是否存在。
2238

被折叠的 条评论
为什么被折叠?



