Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/07/2008, 10h06   #1
Invité de passage
 
Inscription : avril 2008
Messages : 19
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 19
Points : 4
Points : 4
Par défaut Generation automatique des column d'un table

Bonjour,
Je suis entrain de faire un stage pour creation des sites web on ASP.NET 2.0 et MSSQL 2005. Je seche au niveau d'une partie de la base de données SQL. En resumé j'ai deux table SQL Prospects et Clients. Dans la table Prospects il y aura PID qui sera le clé auto incrementé et le CodeProspect qui doit etre generé automatiquement sur cette format AAMMJJ+PID. Par example si la 1er ligne et PID=01 le CodeProspect doit etre generer automatiquement sur cette forme 08071501. J'ai aucune idée a generer ca sur SQL et j'ai trop chercher pour une solution. Svp aider moi.

Desoler pour mon niveau de francais et merci d'avance pour l aide.
rasenganguy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2008, 10h49   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 793
Points : 17 793
Utilisez des vues et parsez vos colonnes.

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2008, 10h59   #3
Invité de passage
 
Inscription : avril 2008
Messages : 19
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 19
Points : 4
Points : 4
Je suis novice en SQL je l'utilise just pour lire des informations a partir d'une page web ASP.NET en utilisant du ADO.NET donc j'ai pas trop compris votre reponse. Le tuteur de stage m'a dis de se debrouiller pour trouver une fonction/procedure stocké pour faire ca. Je sais comment faire des procedure stocké mais je ne vois pas comment faire une qui va lire la colonne PID pour l'ajouter au colonne CodeProspect sur cette format AAMMJJ+PID
rasenganguy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2008, 15h09   #4
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 793
Points : 17 793
Exemple :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CREATE TABLE T_PROSPECT_PSP
(PSP_ID           INT NOT NULL IDENTITY PRIMARY KEY,
 PSP_DATE         DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
 PSP_NOM          CHAR(8))
 
INSERT INTO T_PROSPECT_PSP VALUES (DEFAULT, 'DUPONT')
INSERT INTO T_PROSPECT_PSP VALUES (DEFAULT, 'MARTIN')
 
CREATE VIEW V_PROSPECT_PSP
AS
SELECT REPLACE(SUBSTRING(CONVERT(CHAR(10), PSP_DATE, 121), 3, 10), '-', '') +
       REPLICATE('0', 8 - LEN(CAST(PSP_ID AS VARCHAR(16)))) + CAST(PSP_ID AS VARCHAR(16))
       AS PSP_CODE, *
FROM   T_PROSPECT_PSP
 
SELECT *
FROM   V_PROSPECT_PSP
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2008, 15h45   #5
Invité de passage
 
Inscription : avril 2008
Messages : 19
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 19
Points : 4
Points : 4
Merci beaucoup pour l'aide c'est exactement ce que j'ai besoin
rasenganguy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2008, 11h05   #6
Invité de passage
 
Inscription : avril 2008
Messages : 19
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 19
Points : 4
Points : 4
J'ai essayer votre code quand j'été entrain de creer la page web je me suis appercu que votre code creer une vue et pas une table. Je vouderais se qui se passe au niveau de la vue passe au niveau de la table. J'ai fais des recherches et j'ai trouver qu'il faut faire un trigger au niveau de la table comme ca quand il y aura un insert dans la table la colonne CodeProspect se creer automatiquement par rapport a l'id et a la date. Si vous avez une suggestion je suis preneur en meme temp je continue a chercher merci bcp
rasenganguy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2008, 15h58   #7
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 793
Points : 17 793
Ma suggestion est de ne pas faire cela. En effet ceci constitue une redondance d'information. La redondance entraîne plus de problème qu'elle n'en résout. En particulier elle augmente le volume des données, donc diminue les performances...

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 11h23   #8
Invité de passage
 
Inscription : avril 2008
Messages : 19
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 19
Points : 4
Points : 4
Je me suis inspirer un petit peut de votre idée (Merci ) et j'ai fais des recherches comment ca se creer un trigger lol et j'ai sorti avec ca:

ALTER TRIGGER CodeProspect ON test
After INSERT
AS

UPDATE test set CodeProspect= convert(varchar, getdate(), 112)+'-'+CAST(ID AS VARCHAR(16))+'P'
FROM test

GO

ca me creer un CodeProspect comme ca 20080717-##P ou le ## et le ID de la table. J'aurais juste besoin de le formatter sur cette forme 0807-##P et apres c'est fini. J'ai galerer pour arriver jusqu'a la merci a vous

PS: C'est le 1er trigger que je fais dans ma vie
rasenganguy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h13.


 
 
 
 
Partenaires

Hébergement Web