Déclarer une variable de façon identique à la définition d'un champ d'une table.
Bonjour,
J'ai vu faire cela avec Oracle mais est-ce possible avec SQL server ? (j'ai cherché mais pas vraiment trouvé)
Un bon exemple vaut mieux que de long discourt :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| CREATE TABLE [dbo].[tblMaTable]
(
[ID] [int] IDENTITY(1,1) NOT NULL,
[nvcLabel] [nvarchar](50) NOT NULL,
[bitIsActive] [bit] NOT NULL DEFAULT 1
CONSTRAINT [PK_tblBoatTest] PRIMARY KEY CLUSTERED
(
[ID] ASC
)
) ON [PRIMARY]
CREATE TRIGGER [dbo].[trgMaTable_U] ON tblBoatTest INSTEAD OF UPDATE AS
DECLARE @nvcLabel nvarchar(50)
... |
Si demain je change dans la longueur de mon champ dans la table, je dois aussi penser à changer la longueur de ma variable dans mon trigger... Mais s'il n'y avait que le trigger ça irait mais il y a aussi les fonctions, les procédures stockées...
Y a-t-il un moyen de faire un lien entre les deux de telle façon à ce que le changement du champ dans la table impacte directement dans le reste de la base de données, triggers, fonctions, procédures...
Quelque chose comme :
Code:
DECLARE @nvcLabel LIKE tblMaTable.nvcLabel ;
Idem pour un enregistrement d'une table, quelque chose comme :
Code:
DECLARE @recMaVariable LIKE DEFINITION(tblMaTable);
Merci