Bon j'essai d'expliquer le problème...
Une requête qui me crée un table.
Pour faire simple,
3 champs, un numéro de produit, un numéro de propriété, une numéro de
séquence.
un produit donné peux avoir plusieurs propriétés.
11111111, 800, x
11111111, 900, x
11111111, 1500, x
22222222, 0, x
33333333, 700, x
33333333, 1500, x
Je voudrais avoir une fonction qui incrémente x pour chaque produit pour
que ca donne quelque chose du genre.
11111111, 800, 1
11111111, 900, 2
11111111, 1500, 3
22222222, 0, 1
33333333, 700, 1
33333333, 1500, 2
Le tout directement dans SQL.
Probablement une Function... mais comment lui faire incrémenter pour
chaque produit ?
PePiCK
Bon j'essai d'expliquer le problème...
Une requête qui me crée un table.
Pour faire simple,
3 champs, un numéro de produit, un numéro de propriété, une numéro de
séquence.
un produit donné peux avoir plusieurs propriétés.
11111111, 800, x
11111111, 900, x
11111111, 1500, x
22222222, 0, x
33333333, 700, x
33333333, 1500, x
Je voudrais avoir une fonction qui incrémente x pour chaque produit pour
que ca donne quelque chose du genre.
11111111, 800, 1
11111111, 900, 2
11111111, 1500, 3
22222222, 0, 1
33333333, 700, 1
33333333, 1500, 2
Le tout directement dans SQL.
Probablement une Function... mais comment lui faire incrémenter pour
chaque produit ?
PePiCK
Bon j'essai d'expliquer le problème...
Une requête qui me crée un table.
Pour faire simple,
3 champs, un numéro de produit, un numéro de propriété, une numéro de
séquence.
un produit donné peux avoir plusieurs propriétés.
11111111, 800, x
11111111, 900, x
11111111, 1500, x
22222222, 0, x
33333333, 700, x
33333333, 1500, x
Je voudrais avoir une fonction qui incrémente x pour chaque produit pour
que ca donne quelque chose du genre.
11111111, 800, 1
11111111, 900, 2
11111111, 1500, 3
22222222, 0, 1
33333333, 700, 1
33333333, 1500, 2
Le tout directement dans SQL.
Probablement une Function... mais comment lui faire incrémenter pour
chaque produit ?
PePiCK
Bon j'essai d'expliquer le problème...
Une requête qui me crée un table.
Pour faire simple,
3 champs, un numéro de produit, un numéro de propriété, une numéro de
un produit donné peux avoir plusieurs propriétés.
11111111, 800, x
11111111, 900, x
11111111, 1500, x
22222222, 0, x
33333333, 700, x
33333333, 1500, x
Je voudrais avoir une fonction qui incrémente x pour chaque produit pour
du genre.
11111111, 800, 1
11111111, 900, 2
11111111, 1500, 3
22222222, 0, 1
33333333, 700, 1
33333333, 1500, 2
Le tout directement dans SQL.
Probablement une Function... mais comment lui faire incrémenter pour
PePiCK
Bon j'essai d'expliquer le problème...
Une requête qui me crée un table.
Pour faire simple,
3 champs, un numéro de produit, un numéro de propriété, une numéro de
un produit donné peux avoir plusieurs propriétés.
11111111, 800, x
11111111, 900, x
11111111, 1500, x
22222222, 0, x
33333333, 700, x
33333333, 1500, x
Je voudrais avoir une fonction qui incrémente x pour chaque produit pour
du genre.
11111111, 800, 1
11111111, 900, 2
11111111, 1500, 3
22222222, 0, 1
33333333, 700, 1
33333333, 1500, 2
Le tout directement dans SQL.
Probablement une Function... mais comment lui faire incrémenter pour
PePiCK
Bon j'essai d'expliquer le problème...
Une requête qui me crée un table.
Pour faire simple,
3 champs, un numéro de produit, un numéro de propriété, une numéro de
un produit donné peux avoir plusieurs propriétés.
11111111, 800, x
11111111, 900, x
11111111, 1500, x
22222222, 0, x
33333333, 700, x
33333333, 1500, x
Je voudrais avoir une fonction qui incrémente x pour chaque produit pour
du genre.
11111111, 800, 1
11111111, 900, 2
11111111, 1500, 3
22222222, 0, 1
33333333, 700, 1
33333333, 1500, 2
Le tout directement dans SQL.
Probablement une Function... mais comment lui faire incrémenter pour
PePiCK
Bon j'essai d'expliquer le problème...
Une requête qui me crée un table.
Pour faire simple,
3 champs, un numéro de produit, un numéro de propriété, une numéro de
séquence.
un produit donné peux avoir plusieurs propriétés.
11111111, 800, x
11111111, 900, x
11111111, 1500, x
22222222, 0, x
33333333, 700, x
33333333, 1500, x
Je voudrais avoir une fonction qui incrémente x pour chaque produit pour
que ca donne quelque chose du genre.
11111111, 800, 1
11111111, 900, 2
11111111, 1500, 3
22222222, 0, 1
33333333, 700, 1
33333333, 1500, 2
Le tout directement dans SQL.
Probablement une Function... mais comment lui faire incrémenter pour
chaque produit ?
PePiCK
Bon j'essai d'expliquer le problème...
Une requête qui me crée un table.
Pour faire simple,
3 champs, un numéro de produit, un numéro de propriété, une numéro de
séquence.
un produit donné peux avoir plusieurs propriétés.
11111111, 800, x
11111111, 900, x
11111111, 1500, x
22222222, 0, x
33333333, 700, x
33333333, 1500, x
Je voudrais avoir une fonction qui incrémente x pour chaque produit pour
que ca donne quelque chose du genre.
11111111, 800, 1
11111111, 900, 2
11111111, 1500, 3
22222222, 0, 1
33333333, 700, 1
33333333, 1500, 2
Le tout directement dans SQL.
Probablement une Function... mais comment lui faire incrémenter pour
chaque produit ?
PePiCK
Bon j'essai d'expliquer le problème...
Une requête qui me crée un table.
Pour faire simple,
3 champs, un numéro de produit, un numéro de propriété, une numéro de
séquence.
un produit donné peux avoir plusieurs propriétés.
11111111, 800, x
11111111, 900, x
11111111, 1500, x
22222222, 0, x
33333333, 700, x
33333333, 1500, x
Je voudrais avoir une fonction qui incrémente x pour chaque produit pour
que ca donne quelque chose du genre.
11111111, 800, 1
11111111, 900, 2
11111111, 1500, 3
22222222, 0, 1
33333333, 700, 1
33333333, 1500, 2
Le tout directement dans SQL.
Probablement une Function... mais comment lui faire incrémenter pour
chaque produit ?
PePiCK
à la création ou à la lecture?
br
"PePiCK" wrote in message
news:Bon j'essai d'expliquer le problème...
Une requête qui me crée un table.
Pour faire simple,
3 champs, un numéro de produit, un numéro de propriété, une numéro de
séquence.un produit donné peux avoir plusieurs propriétés.
11111111, 800, x
11111111, 900, x
11111111, 1500, x
22222222, 0, x
33333333, 700, x
33333333, 1500, x
Je voudrais avoir une fonction qui incrémente x pour chaque produit pour
que ca donne quelque chosedu genre.
11111111, 800, 1
11111111, 900, 2
11111111, 1500, 3
22222222, 0, 1
33333333, 700, 1
33333333, 1500, 2
Le tout directement dans SQL.
Probablement une Function... mais comment lui faire incrémenter pour
chaque produit ?
PePiCK
à la création ou à la lecture?
br
"PePiCK" <pepick@hotmail.com> wrote in message
news:uQYnbr3DFHA.624@TK2MSFTNGP09.phx.gbl...
Bon j'essai d'expliquer le problème...
Une requête qui me crée un table.
Pour faire simple,
3 champs, un numéro de produit, un numéro de propriété, une numéro de
séquence.
un produit donné peux avoir plusieurs propriétés.
11111111, 800, x
11111111, 900, x
11111111, 1500, x
22222222, 0, x
33333333, 700, x
33333333, 1500, x
Je voudrais avoir une fonction qui incrémente x pour chaque produit pour
que ca donne quelque chose
du genre.
11111111, 800, 1
11111111, 900, 2
11111111, 1500, 3
22222222, 0, 1
33333333, 700, 1
33333333, 1500, 2
Le tout directement dans SQL.
Probablement une Function... mais comment lui faire incrémenter pour
chaque produit ?
PePiCK
à la création ou à la lecture?
br
"PePiCK" wrote in message
news:Bon j'essai d'expliquer le problème...
Une requête qui me crée un table.
Pour faire simple,
3 champs, un numéro de produit, un numéro de propriété, une numéro de
séquence.un produit donné peux avoir plusieurs propriétés.
11111111, 800, x
11111111, 900, x
11111111, 1500, x
22222222, 0, x
33333333, 700, x
33333333, 1500, x
Je voudrais avoir une fonction qui incrémente x pour chaque produit pour
que ca donne quelque chosedu genre.
11111111, 800, 1
11111111, 900, 2
11111111, 1500, 3
22222222, 0, 1
33333333, 700, 1
33333333, 1500, 2
Le tout directement dans SQL.
Probablement une Function... mais comment lui faire incrémenter pour
chaque produit ?
PePiCK
Toujours à l'insert.
C'est une table un temporaire, aucune mise a jour de la table, si il y a
fait un delete + un insert.
Bon je regarde du coté d'un trigger !
"bruno reiter [MVP]" <remove.this! wrote in message
news:
>à la création ou à la lecture?
>
> br
>
> "PePiCK" wrote in message
> news:
>> Bon j'essai d'expliquer le problème...
>> Une requête qui me crée un table.
>> Pour faire simple,
>> 3 champs, un numéro de produit, un numéro de propriété, une numéro de
> séquence.
>> un produit donné peux avoir plusieurs propriétés.
>>
>> 11111111, 800, x
>> 11111111, 900, x
>> 11111111, 1500, x
>> 22222222, 0, x
>> 33333333, 700, x
>> 33333333, 1500, x
>>
>> Je voudrais avoir une fonction qui incrémente x pour chaque produit
> que ca donne quelque chose
>> du genre.
>>
>> 11111111, 800, 1
>> 11111111, 900, 2
>> 11111111, 1500, 3
>> 22222222, 0, 1
>> 33333333, 700, 1
>> 33333333, 1500, 2
>>
>> Le tout directement dans SQL.
>> Probablement une Function... mais comment lui faire incrémenter pour
> chaque produit ?
>>
>>
>> PePiCK
>>
>>
>>
>>
>
>
Toujours à l'insert.
C'est une table un temporaire, aucune mise a jour de la table, si il y a
fait un delete + un insert.
Bon je regarde du coté d'un trigger !
"bruno reiter [MVP]" <remove.this!.br33@bol.com.br> wrote in message
news:OJRfb95DFHA.628@TK2MSFTNGP15.phx.gbl...
>à la création ou à la lecture?
>
> br
>
> "PePiCK" <pepick@hotmail.com> wrote in message
> news:uQYnbr3DFHA.624@TK2MSFTNGP09.phx.gbl...
>> Bon j'essai d'expliquer le problème...
>> Une requête qui me crée un table.
>> Pour faire simple,
>> 3 champs, un numéro de produit, un numéro de propriété, une numéro de
> séquence.
>> un produit donné peux avoir plusieurs propriétés.
>>
>> 11111111, 800, x
>> 11111111, 900, x
>> 11111111, 1500, x
>> 22222222, 0, x
>> 33333333, 700, x
>> 33333333, 1500, x
>>
>> Je voudrais avoir une fonction qui incrémente x pour chaque produit
> que ca donne quelque chose
>> du genre.
>>
>> 11111111, 800, 1
>> 11111111, 900, 2
>> 11111111, 1500, 3
>> 22222222, 0, 1
>> 33333333, 700, 1
>> 33333333, 1500, 2
>>
>> Le tout directement dans SQL.
>> Probablement une Function... mais comment lui faire incrémenter pour
> chaque produit ?
>>
>>
>> PePiCK
>>
>>
>>
>>
>
>
Toujours à l'insert.
C'est une table un temporaire, aucune mise a jour de la table, si il y a
fait un delete + un insert.
Bon je regarde du coté d'un trigger !
"bruno reiter [MVP]" <remove.this! wrote in message
news:
>à la création ou à la lecture?
>
> br
>
> "PePiCK" wrote in message
> news:
>> Bon j'essai d'expliquer le problème...
>> Une requête qui me crée un table.
>> Pour faire simple,
>> 3 champs, un numéro de produit, un numéro de propriété, une numéro de
> séquence.
>> un produit donné peux avoir plusieurs propriétés.
>>
>> 11111111, 800, x
>> 11111111, 900, x
>> 11111111, 1500, x
>> 22222222, 0, x
>> 33333333, 700, x
>> 33333333, 1500, x
>>
>> Je voudrais avoir une fonction qui incrémente x pour chaque produit
> que ca donne quelque chose
>> du genre.
>>
>> 11111111, 800, 1
>> 11111111, 900, 2
>> 11111111, 1500, 3
>> 22222222, 0, 1
>> 33333333, 700, 1
>> 33333333, 1500, 2
>>
>> Le tout directement dans SQL.
>> Probablement une Function... mais comment lui faire incrémenter pour
> chaque produit ?
>>
>>
>> PePiCK
>>
>>
>>
>>
>
>
-----Message d'origine-----
à la création ou à la lecture?
br
"PePiCK" wrote in message
news:Bon j'essai d'expliquer le problème...
Une requête qui me crée un table.
Pour faire simple,
3 champs, un numéro de produit, un numéro de propriété,
séquence.un produit donné peux avoir plusieurs propriétés.
11111111, 800, x
11111111, 900, x
11111111, 1500, x
22222222, 0, x
33333333, 700, x
33333333, 1500, x
Je voudrais avoir une fonction qui incrémente x pour
que ca donne quelque chosedu genre.
11111111, 800, 1
11111111, 900, 2
11111111, 1500, 3
22222222, 0, 1
33333333, 700, 1
33333333, 1500, 2
Le tout directement dans SQL.
Probablement une Function... mais comment lui faire
chaque produit ?
PePiCK
.
-----Message d'origine-----
à la création ou à la lecture?
br
"PePiCK" <pepick@hotmail.com> wrote in message
news:uQYnbr3DFHA.624@TK2MSFTNGP09.phx.gbl...
Bon j'essai d'expliquer le problème...
Une requête qui me crée un table.
Pour faire simple,
3 champs, un numéro de produit, un numéro de propriété,
séquence.
un produit donné peux avoir plusieurs propriétés.
11111111, 800, x
11111111, 900, x
11111111, 1500, x
22222222, 0, x
33333333, 700, x
33333333, 1500, x
Je voudrais avoir une fonction qui incrémente x pour
que ca donne quelque chose
du genre.
11111111, 800, 1
11111111, 900, 2
11111111, 1500, 3
22222222, 0, 1
33333333, 700, 1
33333333, 1500, 2
Le tout directement dans SQL.
Probablement une Function... mais comment lui faire
chaque produit ?
PePiCK
.
-----Message d'origine-----
à la création ou à la lecture?
br
"PePiCK" wrote in message
news:Bon j'essai d'expliquer le problème...
Une requête qui me crée un table.
Pour faire simple,
3 champs, un numéro de produit, un numéro de propriété,
séquence.un produit donné peux avoir plusieurs propriétés.
11111111, 800, x
11111111, 900, x
11111111, 1500, x
22222222, 0, x
33333333, 700, x
33333333, 1500, x
Je voudrais avoir une fonction qui incrémente x pour
que ca donne quelque chosedu genre.
11111111, 800, 1
11111111, 900, 2
11111111, 1500, 3
22222222, 0, 1
33333333, 700, 1
33333333, 1500, 2
Le tout directement dans SQL.
Probablement une Function... mais comment lui faire
chaque produit ?
PePiCK
.
Bon je reviens sur le sujet car je ne suis toujours pas parvenus a faire
un incrémention de mes enregistrements.
Bon, pour la question du moins passé, je m'en suis sorti autrement, ne
vous en faite pas... :)
Mais je reviens avec le meme probleme aujourd'hui...:(
J'ai pas essayé le trigger, je ne crois pas qu'il puisse s'appliquer au
cas présent.
Une Table KitItem
Kit et ItemNo sont PRIMARY KEY
Je dois insérer plusiseurs nouveaux items ( Supposons un function qui crée
les items de Kit 00001 dans Kit 00000)
Donc j'ai:
KITID ; ITEMNO
00000 ; 1 -- Item1 du Kit 00000
00000 ; 2 -- Item2 du Kit 00000
00000 ; 3 -- Item3 du Kit 00000
KITID ; ITEMNO
00001 ; 1 -- Item1 du Kit 00001
00001 ; 2 -- Item2 du Kit 00001
00001 ; 3 -- Item3 du Kit 00001
00001 ; 4 -- Item4 du Kit 00001
Résultat voulu
KITID ; ITEMNO
00000 ; 1 -- Item1 du Kit 00000
00000 ; 2 -- Item2 du Kit 00000
00000 ; 3 -- Item3 du Kit 00000
00000 ; 4 -- Item1 du Kit 00001
00000 ; 5 -- Item2 du Kit 00001
00000 ; 6 -- Item3 du Kit 00001
00000 ; 7 -- Item4 du Kit 00001
Requête d'insertion...
INSERT INTO tblKitItem ( KitID, ItemNo )
SELECT '00000', dbo.PMax(KitID),
FROM tblKitItem
WHERE KitID = ' 00001'
Function...
CREATE FUNCTION PMax(@KitID varchar(10)) RETURNS int AS
BEGIN
Declare @l int
SELECT @l = Max(ItemNo) + 1
FROM tblKitItem
WHERE KitID = @KitID
RETURN @l
END
Ceci me retourne
KITID ; ITEMNO
00000 ; 1 -- Item1 du Kit 00000
00000 ; 2 -- Item2 du Kit 00000
00000 ; 3 -- Item3 du Kit 00000
00000 ; 4 -- Item1 du Kit 00001
00000 ; 4 -- Item2 du Kit 00001
00000 ; 4 -- Item3 du Kit 00001
00000 ; 4 -- Item4 du Kit 00001
Donc ca plante, il incrément selement le premier, ce qui peu être très
logique car SQL traite la batch avant d'insérer les données dans la table.
Mais comment arriver à mon résultat voulu ???
Je galère vraiment la... :(
Merci de m'éclairé.
PePiCK
Bon je reviens sur le sujet car je ne suis toujours pas parvenus a faire
un incrémention de mes enregistrements.
Bon, pour la question du moins passé, je m'en suis sorti autrement, ne
vous en faite pas... :)
Mais je reviens avec le meme probleme aujourd'hui...:(
J'ai pas essayé le trigger, je ne crois pas qu'il puisse s'appliquer au
cas présent.
Une Table KitItem
Kit et ItemNo sont PRIMARY KEY
Je dois insérer plusiseurs nouveaux items ( Supposons un function qui crée
les items de Kit 00001 dans Kit 00000)
Donc j'ai:
KITID ; ITEMNO
00000 ; 1 -- Item1 du Kit 00000
00000 ; 2 -- Item2 du Kit 00000
00000 ; 3 -- Item3 du Kit 00000
KITID ; ITEMNO
00001 ; 1 -- Item1 du Kit 00001
00001 ; 2 -- Item2 du Kit 00001
00001 ; 3 -- Item3 du Kit 00001
00001 ; 4 -- Item4 du Kit 00001
Résultat voulu
KITID ; ITEMNO
00000 ; 1 -- Item1 du Kit 00000
00000 ; 2 -- Item2 du Kit 00000
00000 ; 3 -- Item3 du Kit 00000
00000 ; 4 -- Item1 du Kit 00001
00000 ; 5 -- Item2 du Kit 00001
00000 ; 6 -- Item3 du Kit 00001
00000 ; 7 -- Item4 du Kit 00001
Requête d'insertion...
INSERT INTO tblKitItem ( KitID, ItemNo )
SELECT '00000', dbo.PMax(KitID),
FROM tblKitItem
WHERE KitID = ' 00001'
Function...
CREATE FUNCTION PMax(@KitID varchar(10)) RETURNS int AS
BEGIN
Declare @l int
SELECT @l = Max(ItemNo) + 1
FROM tblKitItem
WHERE KitID = @KitID
RETURN @l
END
Ceci me retourne
KITID ; ITEMNO
00000 ; 1 -- Item1 du Kit 00000
00000 ; 2 -- Item2 du Kit 00000
00000 ; 3 -- Item3 du Kit 00000
00000 ; 4 -- Item1 du Kit 00001
00000 ; 4 -- Item2 du Kit 00001
00000 ; 4 -- Item3 du Kit 00001
00000 ; 4 -- Item4 du Kit 00001
Donc ca plante, il incrément selement le premier, ce qui peu être très
logique car SQL traite la batch avant d'insérer les données dans la table.
Mais comment arriver à mon résultat voulu ???
Je galère vraiment la... :(
Merci de m'éclairé.
PePiCK
Bon je reviens sur le sujet car je ne suis toujours pas parvenus a faire
un incrémention de mes enregistrements.
Bon, pour la question du moins passé, je m'en suis sorti autrement, ne
vous en faite pas... :)
Mais je reviens avec le meme probleme aujourd'hui...:(
J'ai pas essayé le trigger, je ne crois pas qu'il puisse s'appliquer au
cas présent.
Une Table KitItem
Kit et ItemNo sont PRIMARY KEY
Je dois insérer plusiseurs nouveaux items ( Supposons un function qui crée
les items de Kit 00001 dans Kit 00000)
Donc j'ai:
KITID ; ITEMNO
00000 ; 1 -- Item1 du Kit 00000
00000 ; 2 -- Item2 du Kit 00000
00000 ; 3 -- Item3 du Kit 00000
KITID ; ITEMNO
00001 ; 1 -- Item1 du Kit 00001
00001 ; 2 -- Item2 du Kit 00001
00001 ; 3 -- Item3 du Kit 00001
00001 ; 4 -- Item4 du Kit 00001
Résultat voulu
KITID ; ITEMNO
00000 ; 1 -- Item1 du Kit 00000
00000 ; 2 -- Item2 du Kit 00000
00000 ; 3 -- Item3 du Kit 00000
00000 ; 4 -- Item1 du Kit 00001
00000 ; 5 -- Item2 du Kit 00001
00000 ; 6 -- Item3 du Kit 00001
00000 ; 7 -- Item4 du Kit 00001
Requête d'insertion...
INSERT INTO tblKitItem ( KitID, ItemNo )
SELECT '00000', dbo.PMax(KitID),
FROM tblKitItem
WHERE KitID = ' 00001'
Function...
CREATE FUNCTION PMax(@KitID varchar(10)) RETURNS int AS
BEGIN
Declare @l int
SELECT @l = Max(ItemNo) + 1
FROM tblKitItem
WHERE KitID = @KitID
RETURN @l
END
Ceci me retourne
KITID ; ITEMNO
00000 ; 1 -- Item1 du Kit 00000
00000 ; 2 -- Item2 du Kit 00000
00000 ; 3 -- Item3 du Kit 00000
00000 ; 4 -- Item1 du Kit 00001
00000 ; 4 -- Item2 du Kit 00001
00000 ; 4 -- Item3 du Kit 00001
00000 ; 4 -- Item4 du Kit 00001
Donc ca plante, il incrément selement le premier, ce qui peu être très
logique car SQL traite la batch avant d'insérer les données dans la table.
Mais comment arriver à mon résultat voulu ???
Je galère vraiment la... :(
Merci de m'éclairé.
PePiCK
Bon je reviens sur le sujet car je ne suis toujours pas parvenus a faire un
incrémention de mes enregistrements.
Bon, pour la question du moins passé, je m'en suis sorti autrement, ne vous
en faite pas... :)
Mais je reviens avec le meme probleme aujourd'hui...:(
J'ai pas essayé le trigger, je ne crois pas qu'il puisse s'appliquer au cas
présent.
Une Table KitItem
Kit et ItemNo sont PRIMARY KEY
Je dois insérer plusiseurs nouveaux items ( Supposons un function qui crée
les items de Kit 00001 dans Kit 00000)
Donc j'ai:
KITID ; ITEMNO
00000 ; 1 -- Item1 du Kit 00000
00000 ; 2 -- Item2 du Kit 00000
00000 ; 3 -- Item3 du Kit 00000
KITID ; ITEMNO
00001 ; 1 -- Item1 du Kit 00001
00001 ; 2 -- Item2 du Kit 00001
00001 ; 3 -- Item3 du Kit 00001
00001 ; 4 -- Item4 du Kit 00001
Résultat voulu
KITID ; ITEMNO
00000 ; 1 -- Item1 du Kit 00000
00000 ; 2 -- Item2 du Kit 00000
00000 ; 3 -- Item3 du Kit 00000
00000 ; 4 -- Item1 du Kit 00001
00000 ; 5 -- Item2 du Kit 00001
00000 ; 6 -- Item3 du Kit 00001
00000 ; 7 -- Item4 du Kit 00001
Requête d'insertion...
INSERT INTO tblKitItem ( KitID, ItemNo )
SELECT '00000', dbo.PMax(KitID),
FROM tblKitItem
WHERE KitID = ' 00001'
Function...
CREATE FUNCTION PMax(@KitID varchar(10)) RETURNS int AS
BEGIN
Declare @l int
SELECT @l = Max(ItemNo) + 1
FROM tblKitItem
WHERE KitID = @KitID
RETURN @l
END
Ceci me retourne
KITID ; ITEMNO
00000 ; 1 -- Item1 du Kit 00000
00000 ; 2 -- Item2 du Kit 00000
00000 ; 3 -- Item3 du Kit 00000
00000 ; 4 -- Item1 du Kit 00001
00000 ; 4 -- Item2 du Kit 00001
00000 ; 4 -- Item3 du Kit 00001
00000 ; 4 -- Item4 du Kit 00001
Donc ca plante, il incrément selement le premier, ce qui peu être très
logique car SQL traite la batch avant d'insérer les données dans la table.
Mais comment arriver à mon résultat voulu ???
Je galère vraiment la... :(
Merci de m'éclairé.
PePiCK
Bon je reviens sur le sujet car je ne suis toujours pas parvenus a faire un
incrémention de mes enregistrements.
Bon, pour la question du moins passé, je m'en suis sorti autrement, ne vous
en faite pas... :)
Mais je reviens avec le meme probleme aujourd'hui...:(
J'ai pas essayé le trigger, je ne crois pas qu'il puisse s'appliquer au cas
présent.
Une Table KitItem
Kit et ItemNo sont PRIMARY KEY
Je dois insérer plusiseurs nouveaux items ( Supposons un function qui crée
les items de Kit 00001 dans Kit 00000)
Donc j'ai:
KITID ; ITEMNO
00000 ; 1 -- Item1 du Kit 00000
00000 ; 2 -- Item2 du Kit 00000
00000 ; 3 -- Item3 du Kit 00000
KITID ; ITEMNO
00001 ; 1 -- Item1 du Kit 00001
00001 ; 2 -- Item2 du Kit 00001
00001 ; 3 -- Item3 du Kit 00001
00001 ; 4 -- Item4 du Kit 00001
Résultat voulu
KITID ; ITEMNO
00000 ; 1 -- Item1 du Kit 00000
00000 ; 2 -- Item2 du Kit 00000
00000 ; 3 -- Item3 du Kit 00000
00000 ; 4 -- Item1 du Kit 00001
00000 ; 5 -- Item2 du Kit 00001
00000 ; 6 -- Item3 du Kit 00001
00000 ; 7 -- Item4 du Kit 00001
Requête d'insertion...
INSERT INTO tblKitItem ( KitID, ItemNo )
SELECT '00000', dbo.PMax(KitID),
FROM tblKitItem
WHERE KitID = ' 00001'
Function...
CREATE FUNCTION PMax(@KitID varchar(10)) RETURNS int AS
BEGIN
Declare @l int
SELECT @l = Max(ItemNo) + 1
FROM tblKitItem
WHERE KitID = @KitID
RETURN @l
END
Ceci me retourne
KITID ; ITEMNO
00000 ; 1 -- Item1 du Kit 00000
00000 ; 2 -- Item2 du Kit 00000
00000 ; 3 -- Item3 du Kit 00000
00000 ; 4 -- Item1 du Kit 00001
00000 ; 4 -- Item2 du Kit 00001
00000 ; 4 -- Item3 du Kit 00001
00000 ; 4 -- Item4 du Kit 00001
Donc ca plante, il incrément selement le premier, ce qui peu être très
logique car SQL traite la batch avant d'insérer les données dans la table.
Mais comment arriver à mon résultat voulu ???
Je galère vraiment la... :(
Merci de m'éclairé.
PePiCK
Bon je reviens sur le sujet car je ne suis toujours pas parvenus a faire un
incrémention de mes enregistrements.
Bon, pour la question du moins passé, je m'en suis sorti autrement, ne vous
en faite pas... :)
Mais je reviens avec le meme probleme aujourd'hui...:(
J'ai pas essayé le trigger, je ne crois pas qu'il puisse s'appliquer au cas
présent.
Une Table KitItem
Kit et ItemNo sont PRIMARY KEY
Je dois insérer plusiseurs nouveaux items ( Supposons un function qui crée
les items de Kit 00001 dans Kit 00000)
Donc j'ai:
KITID ; ITEMNO
00000 ; 1 -- Item1 du Kit 00000
00000 ; 2 -- Item2 du Kit 00000
00000 ; 3 -- Item3 du Kit 00000
KITID ; ITEMNO
00001 ; 1 -- Item1 du Kit 00001
00001 ; 2 -- Item2 du Kit 00001
00001 ; 3 -- Item3 du Kit 00001
00001 ; 4 -- Item4 du Kit 00001
Résultat voulu
KITID ; ITEMNO
00000 ; 1 -- Item1 du Kit 00000
00000 ; 2 -- Item2 du Kit 00000
00000 ; 3 -- Item3 du Kit 00000
00000 ; 4 -- Item1 du Kit 00001
00000 ; 5 -- Item2 du Kit 00001
00000 ; 6 -- Item3 du Kit 00001
00000 ; 7 -- Item4 du Kit 00001
Requête d'insertion...
INSERT INTO tblKitItem ( KitID, ItemNo )
SELECT '00000', dbo.PMax(KitID),
FROM tblKitItem
WHERE KitID = ' 00001'
Function...
CREATE FUNCTION PMax(@KitID varchar(10)) RETURNS int AS
BEGIN
Declare @l int
SELECT @l = Max(ItemNo) + 1
FROM tblKitItem
WHERE KitID = @KitID
RETURN @l
END
Ceci me retourne
KITID ; ITEMNO
00000 ; 1 -- Item1 du Kit 00000
00000 ; 2 -- Item2 du Kit 00000
00000 ; 3 -- Item3 du Kit 00000
00000 ; 4 -- Item1 du Kit 00001
00000 ; 4 -- Item2 du Kit 00001
00000 ; 4 -- Item3 du Kit 00001
00000 ; 4 -- Item4 du Kit 00001
Donc ca plante, il incrément selement le premier, ce qui peu être très
logique car SQL traite la batch avant d'insérer les données dans la table.
Mais comment arriver à mon résultat voulu ???
Je galère vraiment la... :(
Merci de m'éclairé.
PePiCK