Comment avoir un SQL statment simple dans un store procedure

Fermé
fben20 Messages postés 1 Date d'inscription jeudi 15 avril 2021 Statut Membre Dernière intervention 15 avril 2021 - 15 avril 2021 à 18:53
Skratus Messages postés 12 Date d'inscription mercredi 28 avril 2021 Statut Membre Dernière intervention 4 mai 2021 - 29 avril 2021 à 17:03
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
A voir également:

1 réponse

Skratus Messages postés 12 Date d'inscription mercredi 28 avril 2021 Statut Membre Dernière intervention 4 mai 2021
29 avril 2021 à 17:03
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
0