begin process at 2008 07 06 07:07:34
1 205 472 membres
51 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : pk particuliere [ Archives / Problème avec une procédure stockée ] (jimmy69)

pk particuliere le 07/10/2004 14:42:03

jimmy69
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

Re : pk particuliere le 08/10/2004 09:01:44

Arthenius
Membre Club
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....



Arthenius

"Ce qui ne me tue pas, me rend plus fort..."

Re : pk particuliere le 08/10/2004 15:08:14

jimmy69
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

Re : pk particuliere le 12/10/2004 13:39:30

jimmy69
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

Re : pk particuliere le 12/10/2004 13:56:57

Arthenius
Membre Club
Réponse acceptée !
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..."

Re : pk particuliere le 12/10/2004 14:12:37

jimmy69
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


Re : pk particuliere le 12/10/2004 14:41:39

Arthenius
Membre Club
merci
@ toi aussi

@+


Arthenius

"Ce qui ne me tue pas, me rend plus fort..."


Classé sous : creer, table, pk, particuliere

Participer à cet échange

Pub



Appels d'offres

Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€
creation de marque et ...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Boutique

Boutique de goodies CodeS-SourceS