달력

52024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

트리거 조회

Develope/MS-SQL 2017. 2. 7. 13:22
반응형

출처  : ttp://marsland.tistory.com/310



트리거 리스트 조회 :  select * from sysobjects where type='TR'


해당 트리거 생성구문 : sp_helptext 트리거명

반응형
Posted by 친절한 웬디양~ㅎㅎ
|
반응형
https://msdn.microsoft.com/en-us/library/ms345443.aspx



SELECT definition  

FROM sys.sql_modules  

WHERE object_id = (OBJECT_ID(N'프로시저명'));  


프로시저 정의된 스크립트 추출

반응형
Posted by 친절한 웬디양~ㅎㅎ
|
반응형

출처 : http://cocoaday.tistory.com/162


money -> adCurrency

varchar, nvarchar -> adVarchar

int -> adInteger

반응형
Posted by 친절한 웬디양~ㅎㅎ
|
반응형

- Oracle 테이블 스키마 조회 DESC table        =        MS-SQL sp_help table

- Oracle 행조절 rownumber < n    =   MS-SQL select top n * from table

반응형
Posted by 친절한 웬디양~ㅎㅎ
|
반응형

dbcc checkident(테이블명,  {NORESEED | RESEED}, 0) //0으로 초기화
ex)dbcc checkident(tbl_Event,RESEED,10)

DBCC CHECKIDENT

지정한 테이블의 현재 ID 값을 검사하고 필요하면 수정합니다.
구문
DBCC CHECKIDENT
     ( 'table_name
'
        
[ , { NORESEED
                 | { RESEED [ , new_reseed_value ] }
            }
        ]
    )
인수
'table_name'
현재 ID 값을 검사할 테이블 이름입니다. 테이블 이름은 식별자에 대한 규칙을 따라야 합니다. 자세한 내용은 식별자 사용을 참조하십시오. 지정한 테이블에는 ID 열이 있어야 합니다.
NORESEED
현재 ID 값을 수정하지 않도록 지정합니다.
RESEED
현재 ID 값을 수정하도록 지정합니다.
new_reseed_value
ID 열의 시드를 재설정할 값입니다.
비고
DBCC CHECKIDENT는 필요에 따라 열의 현재 ID 값을 수정합니다. 그러나 ID 열이 NOT FOR REPLICATION 절(CREATE TABLE 또는 ALTER TABLE 문에서)로 만들어졌다면 ID 값이 수정되지 않습니다.
ID 열에 PRIMARY KEY나 UNIQUE KEY 제약 조건이 존재할 경우 잘못된 ID 정보는 오류 메시지 2627을 발생시킵니다.
현재 ID 값의 실제 수정 여부는 매개 변수 지정에 따라 다릅니다.

DBCC CHECKIDENT 문 ID 값 수정
DBCC CHECKIDENT ('table_name', NORESEED) 현재 ID 값을 재설정하지 않습니다. DBCC CHECKIDENT는 현재 ID 값과 수정할 값을 나타내는 보고서를 반환합니다.
DBCC CHECKIDENT ('table_name') 또는 DBCC CHECKIDENT ('table_name', RESEED) 테이블의 현재 ID 값이 열에 저장된 최대 ID 값보다 작을 경우 ID 열의 최대값을 사용하여 재설정됩니다.
DBCC CHECKIDENT ('table_name', RESEED, new_reseed_value) 현재 ID 값이 new_reseed_value로 설정됩니다. 테이블이 만들어진 이후에 삽입된 행이 없는 경우에는 DBCC CHECKIDENT를 실행한 후에 처음 삽입되는 행이 new_reseed_value를 ID로 사용하게 됩니다. 그렇지 않은 경우, 다음으로 삽입되는 행이 new_reseed_value + 1을 사용하게 됩니다. new_reseed_value의 값이 ID 열의 최대 값보다 작은 경우에는 테이블에 대한 후속 참조에 대해 오류 메시지 2627이 생성됩니다.

현재 ID 값이 테이블의 최대값보다 클 경우 DBCC CHECKIDENT는 현재 ID 값을 자동으로 재설정하지 않습니다. 열의 최대값보다 큰 현재 ID 값을 재설정하려면 다음 중 한 방법을 사용합니다.
  • DBCC CHECKIDENT ('table_name', NORESEED)를 실행하여 현재 열의 최대값을 확인한 다음, DBCC CHECKIDENT ('table_name', RESEED, new_reseed_value) 문에서 new_reseed_value를 지정합니다.

  • new_reseed_value를 매우 작은 값으로 설정한 상태에서 DBCC CHECKIDENT ('table_name', RESEED, new_reseed_value)를 실행한 다음, DBCC CHECKIDENT ('table_name', RESEED)를 실행합니다.
결과 집합
 
현재 ID 값을 30으로 설정
다음은 jobs 테이블의 현재 ID 값을 30으로 설정하는 예제입니다.
USE pubs
GO
DBCC CHECKIDENT (jobs, RESEED, 30)
GO

---------------------------------------

IDENT_SEED

ID 열이 있는 테이블이나 뷰에서 ID 열을 만드는 동안 지정된 시드 값(numeric(@@MAXPRECISION,0)으로 반환됨)을 반환하는 예제입니다.
구문
IDENT_SEED ( 'table_or_view' ) 
인수
'table_or_view'
테이블이나 뷰가 유효한 ID 시드 값을 갖고 있는지 검사하도록 지정하는 식입니다. table_or_view는 따옴표로 묶인 문자열 상수, 변수, 함수, 열 이름이 될 수 있습니다. table_or_viewchar, nchar, varchar, nvarchar 중의 하나입니다.
반환 형식
numeric
 
=====================================

SET IDENTITY_INSERT 테이블명 ON
SET IDENTITY_INSERT 테이블명 OFF를 꼭해주어야 한다.


BEGIN
 SET IDENTITY_INSERT 'aaa' ON
  INSERT INTO aaa ([가])values(3)
 SET IDENTITY_INSERT 'aaa' OFF
END

반응형
Posted by 친절한 웬디양~ㅎㅎ
|