Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour à tous
Comment peut on dans sybase connaître le nom de la procédure qui est appelée dans le cas d'une existing table.
Merci
Dernière modification par SEB95 (11-01-2008 12:19:21)
Hors ligne
j'ai pas bien compris ta question.
tu veux verifier si la table existe ?
Hors ligne
Non, j'aimerai savoir le nom de la procédure stockée qui alimente mon existing table.
Dans la table sysobjects je sais que mon existing table existe.
En gros dans qu'elle table système est renseignée le nom de la procédure qui alimente mon existing table.
En faisant un sp_help on ne le voit pas.
Hors ligne
mais c'est quoi un existing table ? et cette procédure qui alimente ?
ce n'est pas la liste des procedures qui utilisent cette table ?
Hors ligne
Voici un exemple de script de création d'une existing table:
create existing table my_extable ( val1 char(3) not null , val2 numeric(10,0) not null , val3 numeric(10,0) not null , val4 numeric(10,0) not null , _p_param varchar(3) Null ) external procedure at 'LOCALSERVER.base..my_procedure'
à l'utilisation:
select * from my_extable where _p_param = @param
La procédure stockée "my_procedure" possède un paramètre en entrée qui est _p_param
En gros pour schématiser, une existing table c'est une vue mais qui est alimentée par une procédure.
Quand on regarde le DDL de la table soit par des outils comme CAST ou AseIsql on ne voit pas le nom de la procédure qui alimente l'existing table (dans mon exemple my_procedure).
Ma question est donc de savoir ou est renseigné le nom de la procédure qui est appelée.
Hors ligne
Bon je viens de trouver réponse à ma question:
select char_value from sysattributes where object = object_id("my_extable")
on obtient:
LOCALSERVER.base..my_procedure
Merci pick ouic d'avoir réfléchit au problème.
Hors ligne
Ok et merci de nous avoir tenu au courant.
N'oublie pas de mettre ce topic à [RESOLU] en modifiant le titre de ton premier message
Hors ligne