Comment avoir un SQL statment simple dans un store procedure

Signaler
Messages postés
1
Date d'inscription
jeudi 15 avril 2021
Statut
Membre
Dernière intervention
15 avril 2021
-
Messages postés
9
Date d'inscription
mercredi 28 avril 2021
Statut
Membre
Dernière intervention
29 avril 2021
-
Bonjour a tous,

je suis entrain d'automatiser une tache pour le travail ,j'ai cree un store procedure ,
le but est d'obetenir des donnees precises pour cela je dois inserer des donnees a partir de plusieurs tables dans un table temporaire a laide dun parametre le numero d'association qui va attrape le nom de la table source a chaque fois :
donc la variable de la table srouce est @export_table
et celle de l'asociaion est @assoc .
ma question est y a t'il un autre moyen de le faire autrement sans passer par le statement @sql_stmt ci-dessous dans mon exemple :

merci d'avance pour votre aide

declare @export_table varchar(50)
select @export_table = exp_table_name
from tbl_inst_lookup
where inst_no = @inst
and assoc_no = @assoc



CREATE TABLE #tmpexp (
[studentID] [char ] (16) COLLATE Latin1_General_CI_AS NULL ,
[lastname] [varchar] (40) COLLATE Latin1_General_CI_AS NULL ,
[firstname] [varchar] (40) COLLATE Latin1_General_CI_AS NULL ,
[cov_code] [char ] (3) COLLATE Latin1_General_CI_AS NULL,
[real_cov_code] [char ] (3) COLLATE Latin1_General_CI_AS NULL
)

declare @sql_stmt nvarchar(2000)


set @sql_stmt = 'insert into #tmpexp (StudentID , lastname, firstname , cov_code, real_cov_code ) select StudentID , lastname, firstname , cov_code, real_cov_code
from '+@export_table+' where exportid = ' + cast (@exp as varchar)+ ''

EXEC sp_executesql @sql_stmt

select @sql_stmt

1 réponse

Messages postés
9
Date d'inscription
mercredi 28 avril 2021
Statut
Membre
Dernière intervention
29 avril 2021

Bonjour,

j'ai pas compris l'explication du début, mais si vous voulez automatiser un peu plus, jeter un oeil sur les Triggers (https://docs.microsoft.com/fr-fr/sql/t-sql/statements/create-trigger-transact-sql?view=sql-server-ver15)

Le principe est de faire executer une ou plusieurs instruction SQL en fonction de si on ajoute/modifie ou supprime des données dans une table.

Par exemple, dès que quelqu'un ajoute des données dans la table A, vous y récupérez directement le numéro de l'association et vous faite l'insert dans la foulée sur la table temporaire, ou directement sur la vraie table...

J'espère que cela vous aidera un peu