J'essaye d'aller chercher la longueur d'une colonne particulière dans Au lieu de déclencher en utilisant la fonction LEN(). Je veux récupérer la longueur d'une colonne à partir d'une table insérée, puis comparer la longueur en utilisant sinon si je peux faire les actions requises. Voici ce que je fais:Comment faire pour récupérer la longueur de la colonne en utilisant un au lieu de déclencheur dans SQL Server?
CREATE TRIGGER [tr_firstNameLength_signupTable]
ON [dbo].[signup_table]
INSTEAD OF INSERT
AS
BEGIN
SET NOCOUNT ON
Declare @length varchar(50)
select @length = i.first_name from inserted i where i.first_name != null
if (LEN(@length) > 50)
Raiserror('Invalid Firstname. Please try again', 16, 1)
else
insert into signup_table(first_name, surname, mobile_number, email_address, salt, password)
select first_name, surname, mobile_number, email_address, salt, password from inserted
END
ou Devrais-je vérifier l'utilisateur? Je suis ouvert aux suggestions. Alors n'hésitez pas à suggérer comment je peux y arriver d'une meilleure façon. TIA ... :)
Pourquoi la contrainte trigger * ou * vérifie-t-elle ici l'image? '(n) les colonnes varchar' sont déjà livrées avec une longueur maximale libre. –
Ici, j'ai utilisé le trigger car je veux vérifier la longueur des données avant qu'elles ne soient insérées dans ma table et si la longueur est supérieure aux données taille puis affichez le message else insert dans la table. Mis à part Au lieu du déclencheur, y a-t-il un autre moyen de le faire? @Damien_The_Unbeliever – Deep
Utilise la contrainte de vérification. –