Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

NEW et OLD dans trigger

4 réponses
Avatar
Gilles
Bonjour,

J'ai pas mal cherché dans l'aide d'Entreprise manager (langage
transact-SQL)
la possibilité d'utiliser les tables New et OLD de mes triggers dans une
procédure stocké

En effet, à plusieurs Trigger je veux lancer la même procédure stocké pour
le pas répéter mon source

Mais depuis j'ai laissé tomber

Quelqu'un à une piste ?

--
Gilles LE BARBIER

4 réponses

Avatar
Michel PRIORI
Les tables OLD et NEW sont des tables 'temporaires et locales' aux triggers.
Pour traiter ton pb il faut au choix :
1- utiliser copier/coller (==> pb de maintenance)
2- boucler ligne à ligne et invoquer une procédure stockée pour chaque
valeur (horreur du point de vue durée des verrous)
3- restreindre l'acces direct aux tables et forcer le passage par des
procedures stockées qui vont ce quelles doivent.

Sinon ? j'ai plus d'idées :((

"Gilles" a écrit :

Bonjour,

J'ai pas mal cherché dans l'aide d'Entreprise manager (langage
transact-SQL)
la possibilité d'utiliser les tables New et OLD de mes triggers dans une
procédure stocké

En effet, à plusieurs Trigger je veux lancer la même procédure stocké pour
le pas répéter mon source

Mais depuis j'ai laissé tomber

Quelqu'un à une piste ?

--
Gilles LE BARBIER





Avatar
Gilles
Merci Michel c'est bien ce que je redoutais :-)

Je suis obligé de faire une procédure stockée avec quelques paramètres qui
sont en autre le nom de la table
les champs et les valeurs d'initialisation car 5 tables ont les mêmes
propriétés sans avoir les mêmes fonctions

je trouvais cela lourd dans mon code
j'ai du 'execute' à tous va
mais mon source est unique :-)

Gilles

"Michel PRIORI" a écrit dans le
message de news:
Les tables OLD et NEW sont des tables 'temporaires et locales' aux
triggers.
Pour traiter ton pb il faut au choix :
1- utiliser copier/coller (==> pb de maintenance)
2- boucler ligne à ligne et invoquer une procédure stockée pour chaque
valeur (horreur du point de vue durée des verrous)
3- restreindre l'acces direct aux tables et forcer le passage par des
procedures stockées qui vont ce quelles doivent.

Sinon ? j'ai plus d'idées :((

"Gilles" a écrit :

Bonjour,

J'ai pas mal cherché dans l'aide d'Entreprise manager (langage
transact-SQL)
la possibilité d'utiliser les tables New et OLD de mes triggers dans une
procédure stocké

En effet, à plusieurs Trigger je veux lancer la même procédure stocké
pour
le pas répéter mon source

Mais depuis j'ai laissé tomber

Quelqu'un à une piste ?

--
Gilles LE BARBIER







Avatar
Fred BROUARD
New et Old n'existe pas dans MS SQL Server. Il faut utiliser inserted et deleted
à la place.

A lire :
http://sqlpro.developpez.com/cours/sqlserver/transactsql/#L5.3.1

A +

Gilles a écrit:
Bonjour,

J'ai pas mal cherché dans l'aide d'Entreprise manager (langage
transact-SQL)
la possibilité d'utiliser les tables New et OLD de mes triggers dans une
procédure stocké

En effet, à plusieurs Trigger je veux lancer la même procédure stocké pour
le pas répéter mon source

Mais depuis j'ai laissé tomber

Quelqu'un à une piste ?




--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Avatar
Fred BROUARD
New et Old n'existe pas dans MS SQL Server. Il faut utiliser inserted et deleted
à la place.

A lire :
http://sqlpro.developpez.com/cours/sqlserver/transactsql/#L5.3.1

A +

Gilles a écrit:
Bonjour,

J'ai pas mal cherché dans l'aide d'Entreprise manager (langage
transact-SQL)
la possibilité d'utiliser les tables New et OLD de mes triggers dans une
procédure stocké

En effet, à plusieurs Trigger je veux lancer la même procédure stocké pour
le pas répéter mon source

Mais depuis j'ai laissé tomber

Quelqu'un à une piste ?




--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************