⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oracle常见问题常用技巧-27.htm

📁 微软数据库开发梦工场多媒体教学-oracle篇.rar,是多媒体教学的
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body bgcolor="#000000" text="#FFFFFF">
<font color="#009900">Oracle约束管理脚本 </font>
<p> </p>
<p>当前用户下外键的处理 ENABLE或者 DISABLE</p>
<p>v_CursorID := DBMS_SQL.OPEN_CURSOR;<br>
    LOOP<br>
    FETCH C_CON into R_CON;<br>
    notfound:=C_CON%NOTFOUND;<br>
    EXIT WHEN notfound;<br>
    begin<br>
    IF (UPPER(AS_ALTER)='DISABLE' AND R_CON.STATUS='ENABLED' OR<br>
    UPPER(AS_ALTER)='ENABLE' AND R_CON.STATUS='DISABLED') THEN<br>
    v_StrCon := 'ALTER TABLE '||R_CON.owner||'.'||R_CON.table_name||' '||<br>
    UPPER(as_alter) || ' CONSTRAINT '||R_CON.constraint_name;<br>
    DBMS_SQL.PARSE( v_CursorID, v_StrCon, DBMS_SQL.V7);<br>
    v_FkNum :=v_FkNum+1;<br>
    END IF;<br>
    EXCEPTION<br>
    WHEN OTHERS THEN<br>
    v_sqlcode := SQLCODE;<br>
    v_sqlerrm := SUBSTR(SQLERRM,1,600);<br>
    DBMS_OUTPUT.PUT_LINE('ERROR: '||' '||V_SQLERRM);<br>
    -- 找出错误原因<br>
    IF (v_sqlcode = -2298) THEN<br>
    p_con_err(R_CON.CONSTRAINT_NAME);<br>
    END IF;<br>
    END;<br>
    END LOOP;<br>
    CLOSE C_CON;<br>
    DBMS_OUTPUT.PUT_LINE('====== Foreign Keys were '||as_alter||', total '||to_char(v_FkNum)||' 
    =====');<br>
    -- 当前用户下触发器的处理 ENABLE或者 DISABLE<br>
    FOR T_TRIGGER IN C_TRIGGER LOOP<br>
    BEGIN<br>
    IF (UPPER(AS_ALTER)='DISABLE' AND T_TRIGGER.STATUS='ENABLED' OR<br>
    UPPER(AS_ALTER)='ENABLE' AND T_TRIGGER.STATUS='DISABLED') THEN<br>
    v_StrTri := 'ALTER TRIGGER '||T_TRIGGER.TRIGGER_name ||' '||UPPER(as_alter);<br>
    DBMS_SQL.PARSE( v_CursorID, v_StrTri, DBMS_SQL.V7);<br>
    v_TriNum :=v_TriNum+1;<br>
    END IF;<br>
    EXCEPTION<br>
    WHEN OTHERS THEN<br>
    v_sqlcode := SQLCODE;<br>
    v_sqlerrm := SUBSTR(SQLERRM,1,600);</p>
<p>DBMS_OUTPUT.PUT_LINE('ERROR: '||V_SQLCODE||' '||V_SQLERRM);<br>
    END;<br>
    END LOOP;<br>
    DBMS_OUTPUT.PUT_LINE('====== Triggers were '||as_alter||', total '||to_char(v_TriNum)||' 
    =====');<br>
    DBMS_SQL.CLOSE_CURSOR(v_CursorID);<br>
    ELSE -- 输入参数不正确<br>
    DBMS_OUTPUT.PUT_LINE('ERROR:输入参数不正确,参数为ENABLE或者DISABLE!');<br>
    END IF;<br>
    DBMS_OUTPUT.PUT_LINE('END TIME: '||to_char(sysdate));<br>
    END;<br>
    / </p>
<p>&nbsp; </p>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -