Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Administration
Administration Forum d'entraide sur l'administration du serveur Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/03/2011, 10h56   #1
Membre confirmé
 
Avatar de awalter1
 
Inscription : août 2004
Messages : 665
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 665
Points : 232
Points : 232
Par défaut supprimer synonymes sur sequences

Bonjour,
Je crée des séquences, puis des synonymes sur ces séquences.
J'ai écrit la procédure suivante pour tester l'existence de synonymes avant de les supprimer (évite les messages d'erreurs), cette procédure marche bien pour les synonymes sur tables mais pas sur les synonymes sur séquences !
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE OR REPLACE procedure dropsynonym(synonym varchar2) AS
   cursor1 integer;
begin
   cursor1:=dbms_sql.open_cursor;
   dbms_sql.parse(cursor1,'DROP SYNONYM ' || synonym,dbms_sql.NATIVE);
   dbms_sql.close_cursor(cursor1);
EXCEPTION WHEN OTHERS THEN
   dbms_output.put_line(sqlerrm);
   IF dbms_sql.is_open(cursor1) then
      dbms_sql.close_cursor(cursor1);
   end IF;
end;
/
Par contre les lignes suivantes sur une séquence marchent correctement:
Code :
1
2
DROP synonym SEQ_SYS_CAP;
CREATE synonym SEQ_SYS_CAP FOR ops$ope.SEQ_SYS_CAP;
Ya t'il une explication ?
Merci
awalter1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2011, 12h21   #2
Rédacteur
 
Inscription : décembre 2002
Messages : 2 385
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 385
Points : 3 261
Points : 3 261
Merci de préciser la version d'Oracle et le message d'erreur !
__________________
Consultant / formateur Oracle indépendant
Certifié OCP 10g et 11g, sécurité 11g
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 04/03/2011, 15h02   #3
Membre confirmé
 
Avatar de awalter1
 
Inscription : août 2004
Messages : 665
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 665
Points : 232
Points : 232
Oui, pardon, j'utilise oracle 10g sous linux RedHat.
Je n'ai pas de message d'erreur sur l'instruction
Code :
dropsynonym('SEQ_SYS_CAP')
, mais je le déduis lors de la création du synonyme lorsque le système me réponds "name is already used by an existing object".
Merci

PS : si il y a un meilleur moyen pour supprimer des synonymes dans le cas ou ils existent ou n'existent pas, je suis preneur
awalter1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h46.


 
 
 
 
Partenaires

Hébergement Web