* Bonjour, *
j'ai un champ de type varchar, je veux mettre par exemple au début 22/2010 mais il y aura un erreur dans le trigger pre-insert qui incrémente ce champ en sélectionnant le max et ajoute un. S'il y a une idée aide moi Merci
* Bonjour, *
j'ai un champ de type varchar, je veux mettre par exemple au début 22/2010 mais il y aura un erreur dans le trigger pre-insert qui incrémente ce champ en sélectionnant le max et ajoute un. S'il y a une idée aide moi Merci
Bonjour,
la partie à gauche et je veux que la partie à droite se change selon l'année courante. Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT SubStr('22/2010',1, InStr('22/2101','/')-1) + 1 || '/' || To_Char(SYSDATE,'YYYY') FROM dual
Bonjour Yerbouti,
j'ai essayé le code suivant :
mais j'ai le message suivant suite à une enregistrement dans la base:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT SubStr('0/2010',1, InStr('0/2101','/')-1) + 1 || '/' || To_Char(SYSDATE,'YYYY') into :bon_entree.NUMERO_BE FROM bon_entree;
FRM-40735:LE DECLENCHEUR PRE-INSERT A DETECTE UNE EXCEPTION ORA-1422 NON TRAITEE.
testez vos ordres SQL sous Sql*plus, Toad ou SqlDeveloper, et vous comprendrez.
Il n'y a aucune clause de filtrage dans votre requête qui doit donc ramenu plusieurs lignes, or SELECT ... INTO ne doit ramener qu'une ligne.
essaie ça dans le pre_insert du block:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT MAX(SUBSTR(col_seq,1, INSTR(col_seq,'/')-1))+1|| '/' || To_Char(SYSDATE,'YYYY') INTO :col_seq FROM tabseq;
Bonjour ,
Comment je peux initialiser la valeur pour chaque année. Par exemple:
on a en fin décembre ce numéro :233/2010
et au début de 2011 on a ce numéro: 1/2011.
Merci pour vos propositions.
Bonjour,
je vous souhaite bonne année 2011.
je veux savoir si quelqu'un a un e solution pour ce problème s'il vous plait c'est très urgent.
J'imagine qu'avant d'incrémenter le numéro, il faut voir si l'année a changé. Puisque votre valeur 233/2010 doit être stockée en base, il faut lire ce dernier enregistrement et vérifier que l'année (les 4 derniers chiffre) est la même. Sinon, il faut réinitialiser la séquance à 1.
Merci pour votre réponse mais comment je peux apporter la dernière enregistrement? (sans utiliser un curseur)
Partager