2017-10-19 6 views
-1

SQL Server 관리자에서해야 할 과제가 있습니다.SQL 제약 조건 전자 메일

데이터베이스가 있고 User이라는 테이블이 있습니다. 사용자 아래에는 e-mail이라는 열이 있습니다.

할당은 열 전자 메일에 영향을주는 해당 테이블에 대한 새로운 제약 조건을 만드는 것입니다.

는 하나의 '@'최소 하나 같은 (등 !, ", #, ¤, %) < 등의 특수 문자로 사용할 수 없습니다 '.'

이 있어야한다 - 여기에는 '@'및 '.'이 포함되지 않습니다.

나는 여러 가지 시도를했지만 어쩔 수없는 것 같습니다. 또한 나는 초보자임을 알아야한다. 당신의 도움이

+8

적어도 * 공연 * 당신의 시도. 숙제 문제를 우리에게 던지고 우리가 모든 일을 할 것으로 기대하는 것은 누구에게나 큰 문제가 아닙니다. 또한 시도가 어떻게 작동하지 않는지 설명하십시오 - 오류가 발생합니까? 잘못된 값을 삽입 하시겠습니까? 유효한 값 삽입을 방지 하시겠습니까? 다른 것? –

+0

현재 코드 시도를 보여주십시오. – jarlh

+0

Ive가 이것을 시도했습니다 ('% [email protected]__%.__%'와 같은 [전자 메일]) 전자 메일을 입력하려고하면 사용할 수 없으며 그 이유를 모르겠습니다. –

답변

0

에 대한

덕분에 다른 방법은 경우 모든 주어진 조건을 만족을 확인 할, 같은 제약와 테이블을 만들 수 있습니다. 테이블

CREATE TABLE Persons (
ID int NOT NULL, 
LastName varchar(255) NOT NULL, 
FirstName varchar(255), 
Email varchar(255), 
CHECK (len(Email) - len(replace(Email,'@',''))=1 AND len(Email) - 
len(replace(Email,'.',''))=1 AND CHARINDEX('!',Email)!>0 AND 
CHARINDEX('#',Email)!>0 AND CHARINDEX('%',Email)!>0 AND 
CHARINDEX('¤',Email)!>0 AND CHARINDEX('"',Email)!>0) 
); 

일부 거부 입력

[email protected]!%#¤com

일부 존재하지 않으면 당신의

와 테이블 데이터를 변경하시기 바랍니다 @ 일부.! % # com

[email protected]%#com

[email protected]#com

일부 @ co.kr에서

!

등 일부 @ 컴 @ 어떤 @ 일부 ...

일부 예외 입력 (Excepted Inputs)

[email protected]

[email protected]

[email protected]

[email protected]

등 ....

당신은 이미 테이블이있는 경우 다음

GO 

ALTER TABLE [dbo].[Yourtablename] WITH CHECK ADD Constraint EmailConstraint CHECK (((len([Email])- 
len(replace([Email],'@','')))=(1) AND (len([Email])- 
len(replace([Email],'.','')))=(1) AND charindex('!',[Email])<=(0) AND 
charindex('#',[Email])<=(0) AND charindex('%',[Email])<=(0) AND 
charindex('¤',[Email])<=(0) AND charindex('"',[Email])<=(0))) 
GO 
+0

안녕하세요 고마워,하지만 당신이 쓴 것을 이해하지 못한다 xD 나는 그것을 제약 조건에 추가해야한다. 제약 조건에 테이블에 대한 새로운 제약 조건을 만들고 거기에 그것들을 모두 적어 둔다. –

+0

나는 당신을 의미한다. 이 방법을 사용하여 귀하의 테이블을 만들 수 있습니다. –

+0

최신 편집을 참조하십시오. –