外键的使用,高人请拿分

来源:百度知道 编辑:UC知道 时间:2024/09/25 15:26:04
Create table stone_002
(cID char(5) primary key,
cName char(10) ,
iOld char(2),
iSex int check(iSex in(0,1)),--1 男 0 女
iGrade int check(iGrade between 1 and 6)) --1到6个年级

create table stone_isex
( eSex int check(eSex in(0,1)) primary key,
jsex char check(jSex in('女','男')))---此句不知道怎么写

以上语句不完整,请帮忙完善,谢谢
要求:1.stone_002.iSex是stone_isex.eSex的外键,且stone_isex.eSex是随stone_002.iSex变化而变化;
2.stone_isex中的:jsex是根据eSex而来,当eSex=1时jSex='男',当eSex=0时jSex=女;
我执行1提示缺少关键字-missing keyword
执行2-提示无效的数据类型

我用的是oracle

1 级联更新外键值
ALTER TABLE dbo.stone_002 ADD CONSTRAINT
FK_stone_002_stone_isex FOREIGN KEY
(
iSex
) REFERENCES dbo.stone_isex
(
eSex
) ON UPDATE CASCADE

2 可以使用公式,但是这样的话,jsex这个字段的值就无法进行更改了。
如下:
create table stone_isex
( eSex int check(eSex in(0,1)) primary key,
jsex AS (case [eSex] when 0 then '女' else '男' end)
)

以上语法在SQL Server 2000下测试通过

请问你的数据库是不是MSSQL?