如何写约束? create table b(id int,jobid char(10),jobname char(100),deptid char(10) not null)create table a( id int ,deptid char(10),jobid char(10) REFERENCES b(JobID) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如何考虑depid和jobid对应,即表b里的depid和jobid 能和表a里的depid和jobid对应。不是表b里的jobid和表a的jobid对应。除非create table b(id int,jobid char(10),jobname char(100),deptid char(10) not null)create table a( id int ,deptid char(10),jobid char(10) REFERENCES b(JobID),b(depid) 表a{id 编号depid 部门ID <<===是冗余的jobid 岗位ID} 举例:CREATE TABLE [dbo].[TABLE2] ( [a] [int] NULL , [b] [int] NULL ) ON [PRIMARY]GOCREATE TABLE [dbo].[TABLE1] ( [a] [int] NOT NULL , [b] [int] NOT NULL ) ON [PRIMARY]GOALTER TABLE [dbo].[TABLE1] ADD CONSTRAINT [PK_TABLE1] PRIMARY KEY CLUSTERED ( [a], [b] ) ON [PRIMARY] GOALTER TABLE [dbo].[TABLE2] ADD CONSTRAINT [FK_TABLE2_TABLE1] FOREIGN KEY ( [a], [b] ) REFERENCES [dbo].[TABLE1] ( [a], [b] )GO create table b(id int,jobid char(10),jobname char(100),deptid char(10) not null,primary key (deptid,jobid))create table a( id int ,deptid char(10),jobid char(10) REFERENCES b(depid,JobID)) 表a{id 编号Badge 工号 --实际上还有这个字段depid 部门ID <<===是冗余的--这里不是冗余,只是说明这个人属于哪个部门,担任什么岗位。这个岗位必须是此部门下的岗位。jobid 岗位ID}create table b(id int,jobid char(10),jobname char(100),deptid char(10) not null,primary key (deptid,jobid))create table a( id int ,deptid char(10),jobid char(10) REFERENCES b(depid,JobID))--这样也是可以的。但是希望最好用约束表达式写。我写的jobid in(select t.jobid from b t where t.depid=depid)保存时说约束表达式不支持子查询 存储过程 如何在sql server数据库中设置,同时防止给某一字符型列插入null或空格? 求教 sql 简单语句。大神来看看 sql聚合查询的小问题。。。。。 SQLServer服务启动不了 有一个的游标问题? 在软件发布时,是否一定要安装SQL Server? 各位高手,帮帮我啦。。。。。 一个Sql Server的问题 =========入门问题:如何组织数据?======== 数据库设计问题 急!急!在线等待:我的数据库所以记录才1万条,为何它的两个数据库文件大小有10G?
create table b(id int,jobid char(10),jobname char(100),deptid char(10) not null)
create table a( id int ,deptid char(10),jobid char(10) REFERENCES b(JobID),b(depid)
{
id 编号
depid 部门ID <<===是冗余的
jobid 岗位ID
}
[a] [int] NULL ,
[b] [int] NULL
) ON [PRIMARY]
GOCREATE TABLE [dbo].[TABLE1] (
[a] [int] NOT NULL ,
[b] [int] NOT NULL
) ON [PRIMARY]
GOALTER TABLE [dbo].[TABLE1] ADD
CONSTRAINT [PK_TABLE1] PRIMARY KEY CLUSTERED
(
[a],
[b]
) ON [PRIMARY]
GOALTER TABLE [dbo].[TABLE2] ADD
CONSTRAINT [FK_TABLE2_TABLE1] FOREIGN KEY
(
[a],
[b]
) REFERENCES [dbo].[TABLE1] (
[a],
[b]
)
GO
create table a( id int ,deptid char(10),jobid char(10) REFERENCES b(depid,JobID))
{
id 编号
Badge 工号 --实际上还有这个字段
depid 部门ID <<===是冗余的
--这里不是冗余,只是说明这个人属于哪个部门,担任什么岗位。这个岗位必须是此部门下的岗位。
jobid 岗位ID
}
create table b(id int,jobid char(10),jobname char(100),deptid char(10) not null,primary key (deptid,jobid))
create table a( id int ,deptid char(10),jobid char(10) REFERENCES b(depid,JobID))
--这样也是可以的。但是
希望最好用约束表达式写。
我写的jobid in(select t.jobid from b t where t.depid=depid)
保存时说约束表达式不支持子查询