database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 3609 게시물 읽기
No. 3609
초간단 트리거 한번 봐주세요~!
작성자
디비깨기(jungms)
작성일
2007-07-04 14:37ⓒ
2007-07-04 14:41ⓜ
조회수
3,116

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
여기 부분이 틀려서 그런지...계속 에러나네요...한번만 봐주세용~

이 글에 대한 댓글이 총 1건 있습니다.

SELECT @v_return_id = SELECT isnull(max(id)+1,1) FROM test

로 해 보시죠...;


그런데 아래 부분의 FETCH   NEXT    FROM cur_test는 없어야 맞는 것이 아닌가요?


건승하시길...수고하세요~~

성시현(finecomp)님이 2007-07-04 15:48에 작성한 댓글입니다.
이 댓글은 2007-07-04 15:49에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
3612DB접속이 안됩니다. 도와주세요.
초짜
2007-07-05
3147
3611Toad For Sql Server 쓰고 있습니다. 레코드 수정 안되는 문제..
초보
2007-07-05
2427
3610기능에 대해...
d1n0
2007-07-04
2036
3609초간단 트리거 한번 봐주세요~! [1]
디비깨기
2007-07-04
3116
3606[긴급]Join 문제입니다. [1]
김현지
2007-07-04
2789
3605Self join 문제(도와 주세요) [2]
고형석
2007-07-04
2436
3603mdf, ldf 메모장으로 수정이 가능한가요?? [1]
빛의바다
2007-07-03
2844
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다