ALTER TRIGGER [dbo].[t_test]
ON [dbo].[test]
FOR INSERT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for trigger here
DECLARE @v_id int
DECLARE @v_name varchar(15)
DECLARE @v_return_id int
DECLARE cur_test CURSOR
FOR
SELECT id,
name
FROM INSERTED
OPEN cur_test
FETCH NEXT FROM cur_test
INTO @v_id,
@v_name
WHILE (@@FETCH_STATUS = 0)
BEGIN
IF @v_id = 0 OR @v_id = NULL
BEGIN
set @v_return_id = SELECT isnull(max(id)+1,1) as rtn FROM test
UPDATE test
SET id = @v_return_id
WHERE id = @v_id
AND name = @v_name
END
FETCH NEXT FROM cur_test
INTO @v_id,
@v_name
END
CLOSE cur_test
DEALLOCATE cur_test
END
--------------------------------------------------------------
set @v_return_id = SELECT isnull(max(id)+1,1) as rtn FROM test
여기 부분이 틀려서 그런지...계속 에러나네요...한번만 봐주세용~ |