عبدالله أسعد بتاريخ: 4 نوفمبر 2004 تقديم بلاغ مشاركة بتاريخ: 4 نوفمبر 2004 (معدل) How to drop all tables and there corresponding objects???????????????????? تم تعديل 4 نوفمبر 2004 بواسطة bedooracle اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Qaraqesho بتاريخ: 29 ديسمبر 2004 تقديم بلاغ مشاركة بتاريخ: 29 ديسمبر 2004 ألسلا م عليكماتوقع الطريقة انك تحذف اليوسر بشكل كليوالله اعلمDROP USER USER_NAME CASCADEتاكد وردلي خبر[email protected] اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Ameer3arabi بتاريخ: 29 ديسمبر 2004 تقديم بلاغ مشاركة بتاريخ: 29 ديسمبر 2004 طريقتك ممكن تنجح qaraqesho اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mssa بتاريخ: 2 يناير 2005 تقديم بلاغ مشاركة بتاريخ: 2 يناير 2005 drop user..... اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
turkiman بتاريخ: 3 يناير 2005 تقديم بلاغ مشاركة بتاريخ: 3 يناير 2005 اخي الكريم جرب هذا الكود طبعا ماخذه من موقع اجنبي اتمنى يفيدكThis script disables all constraints of a user.. /****************************************************************** ** Nom : disable_constraints.sql ** ** Auteur : PGL ** ** Date : 07/04/1998 ** ** Lancement : Sous le compte a desactiver... ** ** Description : Désactivation de toutes les contraintes actives ** ** d'un utilisateur avec sauvegarde du contexte ** dans la table CONSTRAINTS_DISABLED_TMP. ** *******************************************************************/ DECLARE -- Curseur des contraintes actives. -- CURSOR c_contraintes IS SELECT table_name, constraint_name FROM user_constraints WHERE constraint_type in ('P','R') AND status = 'ENABLED'; -- Curseur pour test de l'existance de la table temp. CURSOR cDrop IS Select table_name from user_tables where table_name='CONSTRAINTS_DISABLED_TMP'; Nom_Table user_constraints.table_name%TYPE; Nom_Const user_constraints.constraint_name%TYPE; Ignore INTEGER; cSQL INTEGER; cSQL1 INTEGER; NomTmp VARCHAR2(30); BEGIN --------- Suppression de la table temp si elle existe. ------------- OPEN cDrop; FETCH cDrop INTO NomTmp; IF cDrop%NOTFOUND THEN ------------- La table n'existe pas : pas d'action particulière... NomTmp := ''; ELSE ----------- La table existe, on la vire... cSQL1 := DBMS_SQL.OPEN_CURSOR; DBMS_SQL.PARSE(cSQL1, 'DROP TABLE '||NomTmp, DBMS_SQL.V7); Ignore := DBMS_SQL.EXECUTE(cSQL1); DBMS_SQL.CLOSE_CURSOR(cSQL1); END IF; ------------------------------------------------------------- CLOSE cDrop; ----------------------------------------------------------------------- -- On crée la table de sauvegarde du contexte des contraintes. -- qui contient toutes les contraintes déjà désactivées et qui n'ont -- pas à être réactivées après. Cela permet de retrouver le même schéma -- après la manip. ----------------------------------------------------------------------- cSQL1 := DBMS_SQL.OPEN_CURSOR; DBMS_SQL.PARSE(cSQL1, 'CREATE TABLE CONSTRAINTS_DISABLED_TMP AS SELECT constraint_name FROM user_constraints WHERE constraint_type in (''P'',''R'') AND status = ''DISABLED''', DBMS_SQL.V7); Ignore := DBMS_SQL.EXECUTE(cSQL1); DBMS_SQL.CLOSE_CURSOR(cSQL1); ------------------------------------------------------------------------ ---------------- Désactivation des contraintes actives ----------------- ------------------------------------------------------------------------ cSQL:= DBMS_SQL.OPEN_CURSOR; OPEN c_contraintes; LOOP FETCH c_contraintes INTO Nom_Table, Nom_Const; EXIT WHEN c_contraintes%NOTFOUND; DBMS_SQL.PARSE(cSQL, 'ALTER TABLE '||Nom_Table||' DISABLE CONSTRAINT '||Nom_Const||' CASCADE',DBMS_SQL.V7); Ignore := DBMS_SQL.EXECUTE(cSQL); END LOOP; CLOSE c_contraintes; DBMS_SQL.CLOSE_CURSOR(cSQL); END; / اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.