I have to create a function in a SQL Server trigger for generating random numbers after insert. I want to update the column with that generated random number please help what I have missed in my code.
If you know other ways please suggest a way to complete my task.
This my SQL Server trigger:
ALTER TRIGGER [dbo].[trgEnquiryMaster]
ON [dbo].[enquiry_master]
AFTER INSERT
AS
declare @EnquiryId int;
declare @ReferenceNo varchar(50);
declare @GenReferenceNo NVARCHAR(MAX);
select @EnquiryId = i.enquiry_id from inserted i;
select @ReferenceNo = i.reference_no from inserted i;
BEGIN
SET @GenReferenceNo = 'CREATE FUNCTION functionRandom (@Reference VARCHAR(MAX) )
RETURNS VARCHAR(MAX)
As
Begin
DECLARE @r varchar(8);
SELECT @r = coalesce(@r, '') + n
FROM (SELECT top 8
CHAR(number) n FROM
master..spt_values
WHERE type = P AND
(number between ascii(0) and ascii(9)
or number between ascii(A) and ascii(Z)
or number between ascii(a) and ascii(z))
ORDER BY newid()) a
RETURNS @r
END
'
EXEC(@GenReferenceNo)
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON
-- update statements for trigger here
UPDATE enquiry_master
SET reference_no ='updated'
WHERE enquiry_id = @EnquiryId
END
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire