Une procédure stockée pour : Ajouter OU Modifier OU Supprimer [Résolu]

Signaler
Messages postés
32
Date d'inscription
vendredi 17 décembre 2004
Statut
Membre
Dernière intervention
21 septembre 2011
-
Messages postés
32
Date d'inscription
vendredi 17 décembre 2004
Statut
Membre
Dernière intervention
21 septembre 2011
-
Bonjour,

Je cherche a créer une procédure stockée pour ajouter,mettre a jour ou supprimer un element à partir d'un "id".

Quelqu'un peut me mettre sur la voie? merci

2 réponses

Messages postés
6
Date d'inscription
dimanche 29 décembre 2002
Statut
Membre
Dernière intervention
18 mars 2005

Salut,

déjà il faudrait que tu nous dise quelle base de donné tu utilise !!!

pour mysql je ne pense pas qu'elles existent .

en ce qui concerne SQL SERVER tu commence comme ca :

la tu cré un procedure avec une action exemple: SELECT/UPDATE/INSERT/DELETE

puis une sous action pour précisé selectionné un champ plusieurs ....

CREATE PROCEDURE [dbo].[nom_de_la_proc] @Action int = NULL, @SubAction int=NULL, @PageID int = NULL AS

IF (@Action = 1)

BEGIN

// ton code pour l'action ici ex:

exec 'SELECT * FROM table'

END

GO



voila pour la procedure en plsql pour ORACLE c'est le meme principe seul l'ecriture doit etre différente !!!

[font=Times New Roman align=center]Ke LeJulius soit avec Toi=Times New Roman
Messages postés
32
Date d'inscription
vendredi 17 décembre 2004
Statut
Membre
Dernière intervention
21 septembre 2011

oué c parfai comme solution. J'ai effectivement utilisé un "flag" mode passé en parametre pour savoir quel action faire.

voici mon code qui n'est pas encore testé mais je posterai si ca fonctionne ou pas. En tout cas il ne leve pas d'erreur de syntaxe sous mon sql server.

CREATE PROCEDURE [dbo].spD_RHDP_UpdateExercice
(
@Id T_DOM_Id,
@DateDeb T_DOM_DateHeure,
@DateFin T_DOM_DateHeure,
@Type T_DOM_TxtTresCourt,
@Mode T_DOM_TxtTresCourt
)
AS


--IF exists(SELECT Id_Exercice FROM tbl_RHDP_EXE_Exercice WHERE (tbl_RHDP_EXE_Exercice.Id_Exercice = @Id))
-- Dans cette partie, le Compte existe déja, on a donc juste besoin de rafraichir les Informations


IF upper(@Mode)='UPDATE'
BEGIN
UPDATE
dbo.tbl_RHDP_EXE_Exercice
SET
dbo.tbl_RHDP_EXE_Exercice.DateDeb_Exercice = @DateDeb,
dbo.tbl_RHDP_EXE_Exercice.DateFin_Exercice = @DateFin,
dbo.tbl_RHDP_EXE_Exercice.Type_Exercice = @Type

WHERE
dbo.tbl_RHDP_EXE_Exercice.Id_Exercice = @Id
END
IF upper(@Mode)='INSERT'
-- Dans cette partie, le compte n'existe pas, on va donc le créer
BEGIN
INSERT INTO dbo.tbl_RHDP_EXE_Exercice
(Id_Exercice,
DateDeb_Exercice,
DateFin_Exercice,
Type_Exercice)
VALUES
(@Id,
@DateDeb,
@DateFin,
@Type)
END
IF upper(@Mode)='DELETE'
BEGIN
DELETE
dbo.tbl_RHDP_EXE_Exercice
WHERE
dbo.tbl_RHDP_EXE_Exercice.Id_Exercice = @Id
END