sp_unbindrule(Transact-SQL)
현재 데이터베이스의 열에서 또는 별칭 데이터 형식에서 규칙을 바인딩 해제합니다.
중요: |
---|
Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 말고, 현재 이 기능을 사용하는 응용 프로그램은 수정하십시오. 대신 ALTER TABLE 또는 CREATE TABLE 문에서 DEFAULT 키워드를 사용하여 기본 정의를 만드는 것이 좋습니다. 자세한 내용은 DEFAULT 정의 만들기 및 수정를 참조하십시오. |
구문
sp_unbindrule [ @objname = ] 'object_name'
[ , [ @futureonly = ] 'futureonly_flag' ]
인수
[ @objname=] 'object_name'
규칙을 바인딩 해제할 테이블 및 열 또는 별칭 데이터 형식의 이름입니다. object_name은 **nvarchar(776)**이며 기본값은 없습니다. SQL Server 는 먼저 두 부분으로 구성된 식별자를 열 이름으로 확인한 다음 별칭 데이터 형식으로 확인합니다. 별칭 데이터 형식에서 규칙을 바인딩 해제하는 경우 같은 규칙을 가진 데이터 형식의 열 또한 바인딩 해제됩니다. 규칙이 직접 바인딩된 이 데이터 형식의 열은 영향을 받지 않습니다.
[!참고] object_name은 구분 식별자 문자로 대괄호([])를 포함할 수 있습니다. 자세한 내용은 구분 식별자(데이터베이스 엔진)를 참조하십시오.
[ @futureonly= ] 'futureonly_flag'
별칭 데이터 형식에서 규칙을 바인드 해제할 때만 사용됩니다. futureonly_flag는 **varchar(15)**이며 기본값은 NULL입니다. futureonly_flag가 futureonly인 경우 이 데이터 형식의 기존 열에서 지정한 규칙이 제거되지 않습니다.
반환 코드 값
0(성공) 또는 1(실패)
주의
규칙 텍스트를 표시하려면 규칙 이름을 매개 변수로 사용하여 sp_helptext를 실행하십시오.
규칙을 바인딩 해제하는 경우 바인딩에 관한 정보는 규칙이 열에 바인딩되었으면 sys.columns 테이블에서 제거되고 규칙이 별칭 데이터 형식에 바인딩되었으면 sys.types 테이블에서 제거됩니다.
규칙이 별칭 데이터 형식에서 바인딩 해제되면 해당 규칙은 이 별칭 데이터 형식을 가진 열에서도 바인딩 해제됩니다. 이후에 ALTER TABLE 문의 ALTER COLUMN 절에 의해 데이터 형식이 변경된 열에는 규칙이 여전히 바인딩되어 있을 수도 있으므로 sp_unbindrule을 사용하고 열의 이름을 지정하여 반드시 해당 열에서 규칙을 바인딩 해제해야 합니다.
사용 권한
테이블 열에서 규칙을 바인딩 해제하려면 테이블에 대한 ALTER 권한이 필요합니다. 별칭 데이터 형식에서 규칙을 바인딩 해제하려면 형식에 대한 CONTROL 권한 또는 형식이 속한 스키마에 대한 ALTER 권한이 필요합니다.
예
1. 열에서 규칙 바인딩 해제
다음 예에서는 employees
테이블의 startdate
열에서 규칙을 바인딩 해제합니다.
EXEC sp_unbindrule 'employees.startdate'
2. 별칭 데이터 형식에서 규칙 바인딩 해제
다음 예에서는 ssn
별칭 데이터 형식에서 규칙을 바인딩 해제합니다. 해당 형식의 기존 열 및 향후 열에서 규칙을 바인딩 해제합니다.
EXEC sp_unbindrule ssn
3. futureonly_flag 사용
다음 예에서는 기존 ssn
열에 영향을 주지 않고 ssn
별칭 데이터 형식에서 규칙을 바인딩 해제합니다.
EXEC sp_unbindrule 'ssn', 'futureonly'
4. 구분 식별자 사용
다음 예에서는 object_name 매개 변수에서 구분 식별자의 사용을 보여 줍니다.
CREATE TABLE [t.4] (c1 int) -- Notice the period as part of the table
-- name.
GO
CREATE RULE rule2 AS @value > 100
GO
EXEC sp_bindrule rule2, '[t.4].c1' -- The object contains two
-- periods; the first is part of the table name and the second
-- distinguishes the table name from the column name.
GO
EXEC sp_unbindrule '[t.4].c1'
참고 항목
참조
시스템 저장 프로시저(Transact-SQL)
데이터베이스 엔진 저장 프로시저(Transact-SQL)
CREATE RULE(Transact-SQL)
DROP RULE(Transact-SQL)
sp_bindrule(Transact-SQL)
sp_helptext(Transact-SQL)
시스템 저장 프로시저(Transact-SQL)