천객만래 [千客萬來] (It has an interminable succession of visitors)

-- inserted by bae 07.09.05
 -- PM_users.alluserproj = true 인 레코드를 UserAccess에 IsWritable=read 로 설정하여 추가한다

-- 한번에 여러개의 레코드를 추가하는 방법
 INSERT INTO UserAccess
 (pm_userid, projid, writable)
 SELECT id, @tProjID, 1 FROM pm_users WHERE allprojuser = 1
 
 -- inserted by bae
 -- wbstree 추가 이건 그냥 주석처리
 --INSERT INTO WbsTree
 --(projid, parentid, Name, nodeindex)
 --SELECT (@tProjID, 0, "새 프로젝트", 0)

Posted by SB패밀리

CAST 및 CONVERT

식을 다른 데이터 형식으로 명시적으로 변환합니다. CAST 및 CONVERT는 비슷한 기능을 제공합니다.

구문

CAST 사용

CAST ( expression AS data_type )

CONVERT 사용

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

인수

expression

유효한 Microsoft® SQL Server™ 식입니다. 자세한 내용은 을 참조하십시오.

data_type

bigint, sql_variant 등 대상 시스템 제공 데이터 형식입니다. 사용자 정의 데이터 형식은 사용할 수 없습니다. 자세한 내용은 데이터 형식을 참조하십시오.

length

nchar, nvarchar, char, varchar, binary, varbinary 데이터 형식의 선택적 매개 변수입니다.

style

datetime, smalldatetime 데이터를 문자 데이터(nchar, nvarchar, char, varchar, nchar, nvarchar 데이터 형식)로 변환할 때 사용되는 날짜 형식이나 float, real, money, smallmoney 데이터를 문자 데이터(nchar, nvarchar, char, varchar, nchar, nvarchar 데이터 형식)로 변환할 때 사용되는 문자열 형식의 스타일입니다.

SQL Server는 쿠웨이트 알고리즘을 사용하여 아랍어 날짜 형식을 지원합니다.

다음 표에서 왼쪽 두 열은 datetime 또는 smalldatetime을 문자 데이터로 변환하기 위한 style 값을 나타냅니다. 세기가 포함된 네 자리 연도(yyyy)를 구하려면 style 값에 100을 더합니다.

세기 포함 안함
(yy)
세기 포함
(yyyy)

표준

입력/출력**
- 0 또는 100 (*) 기본값 mon dd yyyy hh:miAM(또는 PM)
1 101 USA mm/dd/yy
2 102 ANSI yy.mm.dd
3 103 영국/프랑스 dd/mm/yy
4 104 독일 dd.mm.yy
5 105 이탈리아 dd-mm-yy
6 106 - dd mon yy
7 107 - Mon dd, yy
8 108 - hh:mm:ss
- 9 또는 109 (*) 기본값 + 밀리초 mon dd yyyy hh:mi:ss:mmmAM(또는 PM)
10 110 USA mm-dd-yy
11 111 일본 yy/mm/dd
12 112 ISO yymmdd
- 13 또는 113 (*) 유럽 기본값 + 밀리초 dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 또는 120 (*) ODBC 표준 yyyy-mm-dd hh:mi:ss(24h)
- 21 또는 121 (*) ODBC 표준(밀리초) yyyy-mm-dd hh:mi:ss.mmm(24h)
- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(공간 없음)
- 130* 쿠웨이트 dd mon yyyy hh:mi:ss:mmmAM
- 131* 쿠웨이트 dd/mm/yy hh:mi:ss:mmmAM

*     기본값(style 0 또는 100, 9 또는 109, 13 또는 113, 20 또는 120, 21 또는 121)은 항상 세기(yyyy)를 반환합니다.

밑에 예제는 Convert함수와 날짜함수를 사용하여서 뽑아온것입니다.

 

1) 오늘 작성된 글중 Top 10개

SELECT TOP 10 m_no, m_table, a.cat_num, m_subject, m_insertdate, m_read, b.binfo_type
from m_board a inner join m_binfo b on a.m_table = b.binfo_table
where convert(varchar(40), m_insertdate, 110) = convert(varchar(40),getdate(), 110) and  m_listnum <> 0 and binfo_type <> 'Fbd' 
order by m_read desc

 

2) 오늘부터 일주일전까지 작성된 글중 Top 10개
SELECT TOP 10 m_no, m_table, a.cat_num, m_subject, m_insertdate, m_read, b.binfo_type
from m_board a inner join m_binfo b on a.m_table = b.binfo_table
where  convert(varchar(40),  m_insertdate, 110) >= convert(varchar(40), Dateadd(day,-7, getdate()), 110) and  m_listnum <> 0 and binfo_type <> 'Fbd' 
order by m_read desc

 

3) 오늘부터 한달전까지 작성된글중 랜덤하게 10개

SELECT TOP 10 m_no, m_table, a.cat_num, m_subject, m_insertdate, m_read, b.binfo_type
from m_board a inner join m_binfo b on a.m_table = b.binfo_table
where  convert(varchar(40),  m_insertdate, 110) >= convert(varchar(40), Dateadd(month,-1, getdate()), 110) and  m_listnum <> 0 and binfo_type <> 'Fbd' 
order by newid()

Posted by SB패밀리

이 대화 상자를 사용하면 데이터베이스의 테이블 사이에 관계를 만들거나 수정할 수 있습니다. 외래 키 관계에서 외래 키 제약 조건은 기본 키나 UNIQUE 제약 조건과 함께 사용되며 지정된 테이블 사이에 참조 무결성을 적용합니다. 예를 들어, Order_Details 테이블에서 ProductID 열에 외래 키 제약 조건을 두어 이 열에 입력한 값이 Products 테이블의 ProductID 열의 기존 값과 일치하도록 할 수 있습니다.

 

 

옵션

선택한 관계

기존 관계를 나열합니다. 관계를 선택하면 오른쪽 표에 해당 속성이 표시됩니다. 목록이 비어 있는 경우 테이블에 정의된 관계가 없음을 의미합니다.

추가

새 관계를 만듭니다. 관계를 유효하게 만들려면 테이블 및 열 사양을 먼저 설정해야 합니다.

삭제

선택한 관계 목록에서 선택한 관계를 삭제합니다. 관계 추가를 취소하려면 이 단추를 사용하여 관계를 제거합니다.

일반 범주

확장하여 만들거나 다시 활성화할 때 기존 데이터 검사테이블 및 열 사양을 표시합니다.

만들거나 다시 활성화할 때 기존 데이터 검사

제약 조건을 만들거나 다시 활성화하기 전부터 테이블에 있던 모든 데이터를 제약 조건에 대해 검사합니다.

테이블 및 열 사양 범주

확장하여 어떠한 테이블의 어떠한 열이 관계에서 외래 키와 기본 키(또는 고유 키)로 사용되는지에 대한 정보를 표시합니다. 이러한 값을 편집하거나 정의하려면 속성 필드의 오른쪽에 있는 줄임표(...)를 클릭합니다.

외래 키 기본 테이블

선택한 관계에서 외래 키로 사용되는 열이 포함된 테이블을 표시합니다.

외래 키 열

선택한 관계에서 외래 키로 사용되는 열을 표시합니다.

Primary/Unique 키 기본 테이블

선택한 관계에서 기본 키(또는 고유 키)로 사용되는 열이 포함된 테이블을 표시합니다.

Primary/Unique 키 열

선택한 관계에서 기본 키(또는 고유 키)로 사용되는 열을 표시합니다.

ID 범주

확장하여 이름설명에 대한 속성 필드를 표시합니다.

이름

관계의 이름을 표시합니다. 새 관계를 만들면 테이블 디자이너의 활성 창에 있는 테이블을 기반으로 한 기본 이름이 새 관계에 지정됩니다. 언제든지 이름을 변경할 수 있습니다.

설명

관계에 대해 설명합니다. 더 자세한 설명을 기록하려면 설명을 클릭한 다음 속성 필드의 오른쪽에 있는 줄임표(...)를 클릭합니다. 이렇게 하면 텍스트를 쓸 수 있는 더 큰 영역이 제공됩니다.

테이블 디자이너 범주

확장하여 만들거나 다시 활성화할 때 기존 데이터 검사복제에 적용에 대한 정보를 표시합니다.

복제에 적용

복제 에이전트가 이 테이블에서 삽입, 업데이트 또는 삭제를 수행할 때 제약 조건을 적용할지 여부를 나타냅니다. 자세한 내용은 NOT FOR REPLICATION으로 제약 조건, ID, 및 트리거 제어를 참조하십시오.

외래 키 제약 조건 적용

관계를 맺고 있는 열의 데이터를 변경할 때 외래 키 관계의 무결성 제약 조건을 위반하게 되는 경우 이러한 데이터를 변경할 수 있는지 여부를 지정합니다. 이러한 변경을 허용하지 않으려면 를 선택하고, 이를 허용하려면 아니요를 선택합니다.

INSERT 및 UPDATE 사양 범주

확장하여 관계의 삭제 규칙업데이트 규칙에 대한 정보를 표시합니다.

삭제 규칙

외래 키 관계를 맺고 있는 데이터가 포함된 행을 사용자가 삭제하려 할 때 적용할 결과를 지정합니다.

  • 작업 안 함 삭제가 허용되지 않고 DELETE가 롤백된다는 오류 메시지가 나타납니다.

  • 계단식 배열 외래 키 관계에 관련된 데이터가 포함된 모든 행을 삭제합니다.

  • Null 설정 테이블의 모든 외래 키 열에 null 값을 사용할 수 있으면 값을 null로 설정합니다. SQL Server 2005 에만 적용됩니다.

  • 기본값 설정 테이블의 모든 외래 키 열에 기본값이 정의되어 있으면 열에 정의된 기본값으로 값을 설정합니다. SQL Server 2005 에만 적용됩니다.

업데이트 규칙

외래 키 관계를 맺고 있는 데이터가 포함된 행을 사용자가 업데이트하려 할 때 적용할 결과를 지정합니다.

  • 작업 안 함 삭제가 허용되지 않고 DELETE가 롤백된다는 오류 메시지가 나타납니다.

  • 계단식 배열 외래 키 관계에 관련된 데이터가 포함된 모든 행을 삭제합니다.

  • Null 설정 테이블의 모든 외래 키 열에 null 값을 사용할 수 있으면 값을 null로 설정합니다. SQL Server 2005 에만 적용됩니다.

  • 기본값 설정 테이블의 모든 외래 키 열에 기본값이 정의되어 있으면 열에 정의된 기본값으로 값을 설정합니다. SQL Server 2005 에만 적용됩니다.


출처 :MSDN

Posted by SB패밀리

sql server 2000에서 sp_executesql 을 사용할 때 제약조건이 있었는데,

sql 문을 4000자 이상 처리할 수 없다는 것입니다.

sql 문은 유니코드 문자열(nvarchar 나 nchar)이어야 하기 때문에 최대 4000자까지 쓸 수 있습니다.
참고로 ntext 형은 변수 선언을 할 수 없습니다.

 

예를 들어 다음과 같은 쿼리가 있다고 해보죠.

declare @sql nvarchar(4000)
set @sql = 'select * from tableA .....' 
exec dbo.sp_executesql @sql

 

만약 @sql에 4000자가 넘어가는 문장을 넣게되면 @sql은 4000자에서 문장을 자를것이고, 따라서 sp_executesql은 실패하게 될 것입니다.

 

하지만 sql server 2005에서는 nvarchar(max)라를 데이터 타입이 추가되었고,

변수 선언이 가능해 졌습니다.

다음과 같이 위 쿼리를 수정하면 sql server 2005에서는 4000자 이상되는

동적 쿼리도 처리가 가능해 집니다.

declare @sql nvarchar(max)
set @sql = 'select * from tableA .....' 
exec dbo.sp_executesql @sql 

Posted by SB패밀리

날짜 관련 함수입니다.
          
  2.1.1 GETDATE() 함수

          시스템의 날짜를 리턴합니다.
          
        SELECT GETDATE()
        2002-05-24 오전 10:51:05

        SELECT GETDATE()+100
        2002-09-01 오전 10:51:05



  2.1.2 CONVERT() 함수
  
          결과값의 데이타 타입을 변환시킵니다.
          
        SELECT CONVERT(varchar(30), GETDATE(),100)
        May 24 2002 10:51AM

        SELECT CONVERT(varchar(30), GETDATE(),101)
        05/24/2002

        SELECT CONVERT(varchar(30), GETDATE(),102)
        2002.05.24

        SELECT CONVERT(varchar(30), GETDATE(),103)
        24/05/2002

        SELECT CONVERT(varchar(30), GETDATE(),104)
        24.05.2002

        SELECT CONVERT(varchar(30), GETDATE(),105)
        24-05-2002

        SELECT CONVERT(varchar(30), GETDATE(),106)
        24 May 2002

        SELECT CONVERT(varchar(30), GETDATE(),107)
        May 24, 2002

        SELECT CONVERT(varchar(30), GETDATE(),108)
        10:51:05

        SELECT CONVERT(varchar(30), GETDATE(),109)
        May 24 2002 10:51:05:140AM

        SELECT CONVERT(varchar(30), GETDATE(),110)
        05-24-2002

        SELECT CONVERT(varchar(30), GETDATE(),111)
        2002/05/24

        SELECT CONVERT(varchar(30), GETDATE(),112)
        20020524

        SELECT CONVERT(varchar(30), GETDATE(),113)
        24 May 2002 10:51:05:160

        SELECT CONVERT(varchar(30), GETDATE(),114)
        10:51:05:160



  2.1.3 DATEPART() 함수

        날짜에서 지정한 날자형식부분만 추출해줍니다        
        형식: DATEPART(날짜형식, 날짜)
        
        SELECT DATEPART(yy, GETDATE())
        2002

        SELECT DATEPART(mm, GETDATE())
        5

        SELECT DATEPART(dd, GETDATE())
        24

        SELECT DATEPART(hour, GETDATE())
        10

        SELECT DATEPART(mi, GETDATE())
        51

        SELECT DATEPART(ss, GETDATE())
        5

        SELECT DATEPART(dw, GETDATE())
        6


        년/월/일/시/분/초/요일을 숫자로  보여준 예제입니다.

  2.1.4 YEAR() , MONTH() , DAY() 함수         
          
          해당 년,월,일을 각각 뽑아줍니다.
          형식: YEAR(날짜) , MONTH(날짜) , DAY(날짜)

        SELECT YEAR(GETDATE())
        2002

        SELECT MONTH(GETDATE())
        5

        SELECT DAY(GETDATE())
        24



  2.1.5 DATEADD() 함수         
  
          
          DATEADD함수는 날짜에 지정한 만큼을 더합니다.
        형식: DATEADD(날짜형식, 더할 값, 날짜)


        SELECT DATEADD(mm,20,GETDATE())
        2004-01-24 오전 10:51:05


        현재날짜에 월에 20을 더한 날짜를 출력하라.
        
        SELECT DATEADD(dd,100,GETDATE())
        2002-09-01 오전 10:51:05


        오늘부터 100일 후의 날짜를 출력하라.
        
  2.1.6 DATEDIFF() 함수         
  
        DATEDIFF함수는 두 날짜사이의 날짜형식에 지정된 부분을 돌려줍니다.
        형식: DATEDIFF(날짜형식, 시작 날자, 끝 날짜)


        SELECT DATEDIFF(dd,GETDATE(),'3000.1.1')
        364369


        현재날짜와 3000.1.1일 사이의 일수는 얼마일까.??
        
        SELECT DATEDIFF(MM,GETDATE(),'2003.1.1')
        8


        현재날짜와 2003.1.1일 사이의 월수는 얼마일까.??

  2.1.7 DATENAME() 함수         
  
        DATENAME함수는 지정한 날짜의 날자형식의 이름을 돌려줍니다.
        형식: DATENAME(날짜형식, 날짜)    

        SELECT DATENAME(mm,GETDATE())
        May

        SELECT DATENAME(dd,GETDATE())
        24

        SELECT DATENAME(dw,GETDATE())
        Friday

Posted by SB패밀리

와일드카드 문자로 사용된 문자 검색

MS SQL SERVER
때때로 와일드카드 문자로 사용된 문자가 들어 있는 문자열을 검색해야 하는 경우가 있습니다. 예를 들어 titles 테이블에서 제목에 "10%"라는 문자열이 들어 있는 모든 출판물을 찾으려는 경우 "%"가 검색하려는 문자열의 일부이기 때문에 이 문자는 와일드카드 문자가 아니라 리터럴 문자열이라고 지정해야 합니다.

와일드카드 문자로 해석될 수 있는 문자를 검색하려면 제어 문자를 지정하면 됩니다. 와일드카드가 아닌 문자 자체로 간주할 "%"나 "_" 바로 앞에 제어 문자를 붙입니다. 제어 문자를 지정하려면 LIKE 검색 기준 바로 다음에 ESCAPE 절을 포함합니다. 표 형태 창이나 SQL 창의 기준 열에서 이 작업을 할 수 있습니다.

"#" 문자를 제어 문자로 정의하면 "%" 문자 앞에 "#"를 포함시킵니다. 표 형태 창에 이를 입력할 수 있습니다.

LIKE '%10#%%' ESCAPE '#'

SQL 문의 WHERE 절은 아래와 같습니다.

WHERE title LIKE '%10#%%' ESCAPE '#'

메모   SQL 창에서만 제어 문자를 정의할 수 있습니다.

 

와일드카드 문자

와일드카드 문자를 사용하면 텍스트 문자열로 간주되는 모든 열을 검색할 수 있습니다. 데이터 형식 문자가 들어 있는 열은 항상 텍스트 문자열로 간주됩니다. 날짜/시간 데이터가 들어 있는 문자들은 일부 데이터베이스에 대하여 텍스트 문자열로 간주될 수 있습니다.

패턴을 검색하려면 LIKE 연산자를 사용하여 검색 문자열의 일부 문자를 와일드카드 문자로 대체하십시오. 아래와 같은 와일드카드 문자를 사용할 수 있습니다.

와일드카드 문자 의미
%(백분율 기호) 해당 위치에 있는 0개 이상의 문자
_(밑줄) 해당 위치에 있는 문자 하나

예를 들어 "Mac"로 시작하는 모든 이름을 검색하려면 검색 조건 LIKE 'Mac%'을 지정할 수 있습니다. "Jan", "Jen", "Jon" 같은 이름을 찾으려면 검색 조건을 LIKE 'J_n'으로 지정하면 됩니다.

Posted by SB패밀리

MS SQL 2005 에서 SQL Server 가져오기 및 내보내기 마법사를 선택하시고

 

데이터 원본 에서 MS SQL 2000 선택시  "Microsoft OLE DB Provider for SQL Server" 를 선택하시고

데이터 원본 에서 MS SQL 2005 선택시  "SQL Native Clinet" 를 선택하십시요

Posted by SB패밀리

MS SQL SERVER(2000, 2005) 에서 윈도우즈 스케줄러를 이용한 데이터베이스 백업하기


1. 백업 Script

backup database db명 to disk='백업파일경로' with init , name='백업명'

자세한 옵션은 도움말 참조.


2. 복원 Script

restore database db명  from disk= '백업파일경로'  recovery

자세한 옵션은 도움말 참조.
 

3. SQL Agent를 이용한 예약 백업

여기에 새로운 작업 만들기를 하고 작업 단계를 만들어
작업단계에서 작업형태를 T-SQL로 선택하고
1번의 Backup database 구문을 적습니다.
그리고 실행 일정을 잡아 주면 됩니다.
 

4. OSQL 백업

1번의 backup database 구문을 적어서 파일을 저장을 합니다.
그리고 OSQL이라는 프로그램을 이용하여 이 SQL문 파일을 실행만 하면 됩니다.
OSQL사용법은  MS SQL SERVER가 설치된 시스템에서 실행시 아래와 같습니다.
(관리자 계정으로 실행해야 통합인증으로 sMS SQL SERVER에 접근이 되겠죠)

OSQL -E -i sql파일경로 -o 로그파일경로


 5. 작업 예약 백업

위의 방법 1, 4번의 예약 백업을 위해 윈도우즈의 작업 예약을 이용합니다.

시작->프로그램->보조프로그램->예약된 작업

예약작업 추가를 이용해서 백업 스크립트를 실행할 명령어에 입력합니다.


백업 스크립트는 데이터베이스의 백업을 위해 데이터베이스 백업을 선택하는
팝업창에서 Script 생성하기가 있습니다.

 

Posted by SB패밀리

이 대화 상자를 사용하면 데이터베이스의 테이블 사이에 관계를 만들거나 수정할 수 있습니다. 외래 키 관계에서 외래 키 제약 조건은 기본 키나 UNIQUE 제약 조건과 함께 사용되며 지정된 테이블 사이에 참조 무결성을 적용합니다. 예를 들어, Order_Details 테이블에서 ProductID 열에 외래 키 제약 조건을 두어 이 열에 입력한 값이 Products 테이블의 ProductID 열의 기존 값과 일치하도록 할 수 있습니다.

 

 

옵션

선택한 관계

기존 관계를 나열합니다. 관계를 선택하면 오른쪽 표에 해당 속성이 표시됩니다. 목록이 비어 있는 경우 테이블에 정의된 관계가 없음을 의미합니다.

추가

새 관계를 만듭니다. 관계를 유효하게 만들려면 테이블 및 열 사양을 먼저 설정해야 합니다.

삭제

선택한 관계 목록에서 선택한 관계를 삭제합니다. 관계 추가를 취소하려면 이 단추를 사용하여 관계를 제거합니다.

일반 범주

확장하여 만들거나 다시 활성화할 때 기존 데이터 검사테이블 및 열 사양을 표시합니다.

만들거나 다시 활성화할 때 기존 데이터 검사

제약 조건을 만들거나 다시 활성화하기 전부터 테이블에 있던 모든 데이터를 제약 조건에 대해 검사합니다.

테이블 및 열 사양 범주

확장하여 어떠한 테이블의 어떠한 열이 관계에서 외래 키와 기본 키(또는 고유 키)로 사용되는지에 대한 정보를 표시합니다. 이러한 값을 편집하거나 정의하려면 속성 필드의 오른쪽에 있는 줄임표(...)를 클릭합니다.

외래 키 기본 테이블

선택한 관계에서 외래 키로 사용되는 열이 포함된 테이블을 표시합니다.

외래 키 열

선택한 관계에서 외래 키로 사용되는 열을 표시합니다.

Primary/Unique 키 기본 테이블

선택한 관계에서 기본 키(또는 고유 키)로 사용되는 열이 포함된 테이블을 표시합니다.

Primary/Unique 키 열

선택한 관계에서 기본 키(또는 고유 키)로 사용되는 열을 표시합니다.

ID 범주

확장하여 이름설명에 대한 속성 필드를 표시합니다.

이름

관계의 이름을 표시합니다. 새 관계를 만들면 테이블 디자이너의 활성 창에 있는 테이블을 기반으로 한 기본 이름이 새 관계에 지정됩니다. 언제든지 이름을 변경할 수 있습니다.

설명

관계에 대해 설명합니다. 더 자세한 설명을 기록하려면 설명을 클릭한 다음 속성 필드의 오른쪽에 있는 줄임표(...)를 클릭합니다. 이렇게 하면 텍스트를 쓸 수 있는 더 큰 영역이 제공됩니다.

테이블 디자이너 범주

확장하여 만들거나 다시 활성화할 때 기존 데이터 검사복제에 적용에 대한 정보를 표시합니다.

복제에 적용

복제 에이전트가 이 테이블에서 삽입, 업데이트 또는 삭제를 수행할 때 제약 조건을 적용할지 여부를 나타냅니다. 자세한 내용은 NOT FOR REPLICATION으로 제약 조건, ID, 및 트리거 제어를 참조하십시오.

외래 키 제약 조건 적용

관계를 맺고 있는 열의 데이터를 변경할 때 외래 키 관계의 무결성 제약 조건을 위반하게 되는 경우 이러한 데이터를 변경할 수 있는지 여부를 지정합니다. 이러한 변경을 허용하지 않으려면 를 선택하고, 이를 허용하려면 아니요를 선택합니다.

INSERT 및 UPDATE 사양 범주

확장하여 관계의 삭제 규칙업데이트 규칙에 대한 정보를 표시합니다.

삭제 규칙

외래 키 관계를 맺고 있는 데이터가 포함된 행을 사용자가 삭제하려 할 때 적용할 결과를 지정합니다.

  • 작업 안 함 삭제가 허용되지 않고 DELETE가 롤백된다는 오류 메시지가 나타납니다.

  • 계단식 배열 외래 키 관계에 관련된 데이터가 포함된 모든 행을 삭제합니다.

  • Null 설정 테이블의 모든 외래 키 열에 null 값을 사용할 수 있으면 값을 null로 설정합니다. SQL Server 2005 에만 적용됩니다.

  • 기본값 설정 테이블의 모든 외래 키 열에 기본값이 정의되어 있으면 열에 정의된 기본값으로 값을 설정합니다. SQL Server 2005 에만 적용됩니다.

업데이트 규칙

외래 키 관계를 맺고 있는 데이터가 포함된 행을 사용자가 업데이트하려 할 때 적용할 결과를 지정합니다.

  • 작업 안 함 삭제가 허용되지 않고 DELETE가 롤백된다는 오류 메시지가 나타납니다.

  • 계단식 배열 외래 키 관계에 관련된 데이터가 포함된 모든 행을 삭제합니다.

  • Null 설정 테이블의 모든 외래 키 열에 null 값을 사용할 수 있으면 값을 null로 설정합니다. SQL Server 2005 에만 적용됩니다.

  • 기본값 설정 테이블의 모든 외래 키 열에 기본값이 정의되어 있으면 열에 정의된 기본값으로 값을 설정합니다. SQL Server 2005 에만 적용됩니다.
Posted by SB패밀리

alter table 방법

--------------------테이블 컬럼추가------------------

ALter Table 테이블Name

ADD Test_Col nvarchar(100) Default  Null --null을 허용함

-------------------테이블 컬럼삭제--------------------

Alter Tble 테이블Name

DROP COLUMN MOBILE1

--열 삭제시 제약조건이 걸려있으면 제약조건부터 삭제

------------------테이블 제약조건 삭제방법------------

Alter Table 테이블Name

DROP CONSTRAINT 제약조건Name

-----------------테이블 열 형식 변경------------------

Alter Table 테이블Name

ALTER COLUMN NAME NVARCHAR(10) NULL

------------테이블끼리 릴레이션 정의--------------------

--With NoCheck 옵션 같은 경우는 기존에 제약조건에 의해 부모 데이터와 자식데이터의 PK,FK가 일치하지않아 충돌날경우를 대비해서 기존데이터는 무시하고 관계를 맺는것이다(외래키 제약조건)

Alter Table  테이블Name With NoCheck 

ADD CONSTRANT FK_USERTBL_BUYTBL

FOREIGN KEY(USERID)

REFERENCES USERTBL(USERID) --참조하는 부모테이블의 PK. 외래 키 제약 조건 적용

ON UPDATE CASCADE --부모테이블에서 업데이트시 자식테이블도 업데이트. 업데이트 규칙

ON DELETE CASCADE --부모테이블에서 삭제시 자식테이블도 자동 삭제. 삭제 규칙

-- NOT FOR REPLICATION -- 복제에 적용

Posted by SB패밀리