CREATE TABLE oddb.仓库
(仓库号 char(6) PRIMARY KEY CHECK(仓库号 like '[A-Z][A-Z][0-9][0-9][0-9][0-9]' COLLATE Chinese_PRC_BIN),
城市 char(10) UNIQUE NOT NULL,
面积 numeric(20,0) CHECK(面积>=50)
)
职工这个表里的职工号
8个字符
是关键字
前6位参照仓库表的仓库号
后2位为数字字符
初学SQL 像这一类问题哪有什么好的资料,教材上就弄个格式~~~~没有灵活运用的实例,很纠结~~~请高人指点~~~推荐几本书或这方面的一些资源
(仓库号 char(6) PRIMARY KEY CHECK(仓库号 like '[A-Z][A-Z][0-9][0-9][0-9][0-9]' COLLATE Chinese_PRC_BIN),
城市 char(10) UNIQUE NOT NULL,
面积 numeric(20,0) CHECK(面积>=50)
)
职工这个表里的职工号
8个字符
是关键字
前6位参照仓库表的仓库号
后2位为数字字符
初学SQL 像这一类问题哪有什么好的资料,教材上就弄个格式~~~~没有灵活运用的实例,很纠结~~~请高人指点~~~推荐几本书或这方面的一些资源
解决方案 »
- 字段求和
- 高分.急(解决即给分)请教一个在SQL Server2005中使用IMAGE类型的问题
- 问一个关于查询结果的很菜的问题!谢谢!
- 再线等待《急急急……》
- 如何Sql数据库服务器中一个SQL查询导出到客户端的一个本地Excel文件里???急!!!!在线!
- sql server 2005的问题
- 键接服务器,如何把本地的数据库的某个表备份到远程数据库,每天备份一次,只对新增的记录.
- 公司有偿高价请高手回复数据库!
- 菜鸟问大家:如何取得刚刚添加的记录的自动增加的ID?
- 关于启动的问题
- SQL查询问题
- 由于计算机 Acer PC Error:2147749896 (0x80041008) 上的 WMI 配置,无法执行 SQL Server 系统配置检查器。
做个触发器吧,做约束要写自定义函数,估计不高效。create trigger tr_check_EmpNo on 职工表
for insert,update
as
if not exists(
select top 1 1
from inserted a
join 仓库 b on a.职工号 COLLATE Chinese_PRC_BIN like 仓库号+'[0-9][0-9]' COLLATE Chinese_PRC_BIN
)
begin
raiserror('职工号不符合要求,请重新输入!',16,1)
rollback
end
go
GO
CREATE TABLE 职工
(
职工号 char(8) PRIMARY KEY,
......,
FOREIGN KEY (职工号) REFERENCES 仓库(仓库号)
)
数据库名:是你创建的职工表和仓库表依附的数据库。
......表示你这个表里的其他属性列。
至于你说的“前6位参照 仓库表里的仓库号 后2位为数字字符”,没有你说的这种属性定义方式。