0
CREATE TRIGGER tg_bpb_cons_no ON dbo.t_bpb_cons
FOR INSERT
AS
/*
fungsi  : membuat document bon permintaan barang maintenance number secara otomatis`
author  : ryan
*/
declare @new_doc_no varchar(20)
declare @doc_no varchar(20)
--declare @doc_no bigint
--update doc no
SELECT @doc_no = max(cast(substring(doc_no,9,13) as integer)) from t_bpb_cons
IF (@doc_no IS NULL)
BEGIN
set @doc_no = 0
END
PRINT @DOC_NO
SELECT @new_doc_no = cast(@doc_no+1 as varchar(20))
SELECT @new_doc_no = LEFT('BPB/CON/',8+len(@new_doc_no))+@new_doc_no
UPDATE t_bpb_cons SET doc_no=@new_doc_no WHERE [ID]=(SELECT MAX([ID]) AS id from t_bpb_cons)

挿入された単一のレコードで正常に動作しますが、最後のレコードにのみ影響する複数のレコードを挿入するために Insert into tbl select tblvalue from AnotherTable を使用しました...なぜ??

4

1 に答える 1