我想在名为DeltaDatabase
的数据库中使用以下脚本创建表:
CREATE TABLE [dbo].[OutStatus](
[Id] [bigint] IDENTITY(1,1) NOT NULL,
[OutId] [int] NOT NULL,
[StatusType] [varchar](255) NULL,
[StatusDate] [datetime] NULL)
然后,我希望从另一个名为INNER JOIN
的数据库中CoreDatabase
一列到此表中。
表sourceId
中的列名为Client
。换句话说,OutId
需要是SourceId
的外键。
如何使用create table脚本将该列加入到来自其他数据库的OutStatus
表中?
答案 0 :(得分:1)
检索数据的基本语法是:
SELECT *
FROM CoreDatabase.dbo.Client c
INNER JOIN DeltaDatabase.dbo.OutStatus os ON c.SourceId = os.OutId
您需要使用以下代码完全限定表名:DatabaseName.Schema.TableName
您可能希望限制列或添加where子句以减少返回的数据。
就跨数据库创建外键而言,it's not something you can do。您必须使用触发器或其他逻辑来维护主键和外键之间的参照完整性。
答案 1 :(得分:0)
尝试以下查询
Select * from DeltaDatabase.dbo.OutStatus OUS
Inner Join CoreDatabase.dbo.Client CL on OUS.OutId=CL.sourceId