日期:2014-05-17  浏览次数:20377 次

check语句
刚学SQL2005不久,以下倒数第二行分析是有错,但反复检查看不出哪出错了,请帮忙查看一下。 
create table dept
(
  dept_ID int primary key,
  dept_address nvarchar(50)
)

create table emp
(
   emp_ID int primary key constraint FK_emp_constraint not null,
   emp_name nvarchar(10) not null,
   emp_sex nvarchar(1),
   emp_age int,
   emp_salary int check (emp_salary>100 and emp_salary<350),
   dept_ID int constraint FK_dept_constraint foreign key references dept(dept_ID) 
)
check语句

------解决方案--------------------
--测试了,没问题。注意你插入数据时,要符合foreign约束
create table dept
(
  dept_ID int primary key,
  dept_address nvarchar(50)
)

create table emp
(
   emp_ID int primary key constraint FK_emp_constraint not null,
   emp_name nvarchar(10) not null,
   emp_sex nvarchar(1),
   emp_age int,
   emp_salary int check (emp_salary>100 and emp_salary<350),
   dept_ID int constraint FK_dept_constraint foreign key references dept(dept_ID) 


INSERT INTO dbo.dept
        ( dept_ID, dept_address )
VALUES  ( 1, -- dept_ID - int
          N'aa'  -- dept_address - nvarchar(50)
          )

INSERT dbo.emp
        ( emp_ID ,
          emp_name ,
          emp_sex ,
          emp_age ,
          emp_salary ,
          dept_ID