alter table1 add constraint foreign key(table1.column) references table2(column)
这样写总觉得不太正确,请给出正确的书写。
不用inner join 或 left / right join
两个数据库在同一台服务器上,直接通过 DBName.OwnerName.TBName 方式引用;否则,参考如下代码:
--创建链接服务器
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','远程服务器名或ip地址'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
go
--查询示例
select * from srv_lnk.数据库名.dbo.表名
--导入示例
select * into 表 from srv_lnk.数据库名.dbo.表名
--以后不再使用时删除链接服务器
exec sp_dropserver 'srv_lnk','droplogins'
go
--如果只是临时访问,可以直接用openrowset
--查询示例
select * from openrowset('SQLOLEDB'
,'sql服务器名';'用户名';'密码'
,数据库名.dbo.表名)
--导入示例
select * into 表 from openrowset('SQLOLEDB'
,'sql服务器名';'用户名';'密码'
,数据库名.dbo.表名)
alter table1 add constraint foreign key(table1.column) references table2(column)
这个只是用来建立参照完整性约束而已.
跟你后面说的inner join 或 left / right join
跟本就是两码事.
汗.
[CODE]create table table1(
id int not null,
col1 varchar(100),
constraint PK_ID primary key(id)
)
go
create table table2(
id int not null,
col1 varchar(100)
)
go
alter table table2 add constraint fk foreign key(id) references table1(id)
go
insert table1 select 1,'num1'
union select 2,'num2'
go
insert table2 select 1,'ck'
select table1.col1,table2.col1 from table1 join table2 on table1.id=table2.id
drop table table2,table1[/CODE]