Pk particuliere

Résolu
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 - 7 oct. 2004 à 14:42
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 - 12 oct. 2004 à 14:41
Bonjour a tous,

Ravi de savoir que le reseaux code sources s'agrandit => tant mieux !

Voila j'ai besoin de vous j'ai un p'tit stress !

Je suis sous sql serveur 2000 et je dois creer une table avec une primary key particuliere !!!

la pk doit ressemble a ceci :

2004/10/1
2004/10/2
2004/10/3
...

donc
annee/mois/ et bien sur num de pk auto incremente !

je ne vois pas comment creer cette table si vous aviez des soluces ...ou de bonnes idees

Je vous remercie

Ciao

Christophe

un bouillonnais

6 réponses

Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
12 oct. 2004 à 13:56
d'apres ce que je vois le compteur ne sera pas remis a zero pour un nouveau mois ou une nouvelle année...

mais bon si ca ne te pose pas de pb...

sinon ca fonctionne...
:o)))

valide ta reponse...comme ca ca pourra servir a d'autre...

@+
Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
3
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
8 oct. 2004 à 09:01
dans la theorie je crerai un trigger sur l'insert qui met a jour ta PK..
avec un select max(pk) where pk like '2004/10/%'

tu recupere le compteur et +1...

dans la pratique y a plus qu'a....

:-p

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
0
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 1
8 oct. 2004 à 15:08
salut salut Arthenius,

Oui je pense que c'est comme ca que je dois faire !

je vais faire cela ce week end +> 48 heures pour realiser cela ...7 faisable je pense ;-)!

Je te tiens au courant et je balancerai le script ici tu me diras ce que tu en penses car je suis un vrai debutant !

merci et a lundi alors

ciao et bon week end

christophe
un bouillonnais
0
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 1
12 oct. 2004 à 13:39
SALUT SALUT Arthenius,

Voila ce que j'ai trovue et que j'ai adapte ....dis moi si tu veux bien ce que tu en penses !

Je te remercie

Bonne semaine et encore merci

Christophe

un bouillonnais

CREATE TABLE T_EXAMPLE (
EX_ID int IDENTITY (1, 1) NOT NULL ,
EX_PK varchar (50) NOT NULL PRIMARY KEY,
EX_VALUE int NULL
)
GO
CREATE TRIGGER TG_PK ON T_EXAMPLE
AFTER INSERT
AS
BEGIN
DECLARE @YY VARCHAR(4)
DECLARE @MM VARCHAR(2)
SELECT @YY=CAST(YEAR(GETDATE()) AS VARCHAR(4)),
@MM=CAST(MONTH(GETDATE()) AS VARCHAR(2))
IF LEN(@MM)=1 SELECT @MM='0' + @MM

UPDATE T_EXAMPLE
SET EX_PK=@YY + '_' + @MM + '_' + CAST(@@IDENTITY AS VARCHAR(32))
FROM INSERTED I JOIN T_EXAMPLE E
ON I.EX_PK=E.EX_PK
END
GO
INSERT INTO T_EXAMPLE(EX_VALUE,EX_PK)
VALUES(1977,'')
GO
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 1
12 oct. 2004 à 14:12
re,

ecoute n'etant pas un pro du tout en developpement je vais laisser cela comme ca l'adapter a ce que je suis en train de faire et je verrai ce que cela dit

en tout cas je te remercie

passses une excellente semaine

ciao

christophe
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
12 oct. 2004 à 14:41
merci
@ toi aussi

@+

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
0
Rejoignez-nous