Après windows pour les nuls, voici PB pour les bons (ou presque).

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 11-03-2009 13:12:32

micmx  
Membre Geek
Date d'inscription: 02-02-2009
Messages: 84
Pépites: 1,028
Banque: 1,383,846,119

Utiliser une séquence oracle lors d'un update

Bonjour,

Je ne savais pas trop si c'est ici que je devais le poster ou plutôt dans la section DW/DS..

J'ai un datastore alimenté par un dataobject du style :

Code: pb

  SELECT TP_DETAIL_DAT.ID_DAT,   
         TP_DETAIL_DAT.ID_OP,   
         TP_DETAIL_DAT.OF_P,   
         TP_DETAIL_DAT.ID_M,   
         TP_DETAIL_DAT.ID_U,   
         TP_DETAIL_DAT.DEB_DAT,   
         TP_DETAIL_DAT.FIN_DAT,   
         TP_DETAIL_DAT.DUREE_DAT,   
         TP_DETAIL_DAT.FT_DAT  
    FROM sui.TP_DETAIL_DAT   


à un certain moment , j'ajoute un enregistrement

Code: pb

  li_row= this.of_addrow( this.of_getds( ).RowCount()+1)
  li_retour= this.of_getds( ).setitem( li_row,"id_det", li_row)  // ID DETAIL DAT (FUTUR : SEQUENCE AUTO INCREMENT)
   li_retour=this.of_getds( ).setitem( li_row,"oper_det", il_operation) 
.
.
.


Comment pourrais-je faire intervenir ma séquence ?

Je ne peux malheureusement pas utiliser de trigger , lorsque je tente de créer un trigger , j'ai un joli message "insufficient privileges" hors j'ai créé la table et me suis attribué tous les droits oO

Hors ligne

 

#2 11-03-2009 13:41:44

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Utiliser une séquence oracle lors d'un update

il suffit d'appeler la valeur suivante de ta séquence avant le setitem de l'ID, du genre :

Code: pb

SELECT TA_SEQUENCE.NEXTVAL INTO :ll_id FROM DUAL;

li_row= this.of_addrow( this.of_getds( ).RowCount()+1)
li_retour= this.of_getds( ).setitem( li_row,"id_det", ll_id )
li_retour=this.of_getds( ).setitem( li_row,"oper_det", il_operation)

N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#3 11-03-2009 14:03:37

micmx  
Membre Geek
Date d'inscription: 02-02-2009
Messages: 84
Pépites: 1,028
Banque: 1,383,846,119

Re: Utiliser une séquence oracle lors d'un update

Hmmm mon problème vient d'ailleur..
C'est la même chose avec cette méthode

ORA-01031: insufficient privileges

Je vais chercher vers la DB donc..

Merci

Hors ligne

 

#4 11-03-2009 14:07:01

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Utiliser une séquence oracle lors d'un update

Code: sql

GRANT SELECT ON TA_SEQUENCE TO TON_USER;

N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#5 12-03-2009 08:42:42

micmx  
Membre Geek
Date d'inscription: 02-02-2009
Messages: 84
Pépites: 1,028
Banque: 1,383,846,119

Re: Utiliser une séquence oracle lors d'un update

j'ai fait.. malgré tout..
J'ai été jusqu'à mettre tous les droits pour tous les users..

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22