【发布时间】:2018-06-30 01:42:20
【问题描述】:
我有两张桌子:
[tbl_Records_DR] PK DAutoID.
[tbl_Records_DR_Explain] PK DRefer_ID
- 我想在这些表之间创建一个外键。
- 我希望在从 [tbl_Records_DR] 中删除记录时能够级联删除。
我正在以编程方式(仅)创建我的表格。
这是我目前拥有的在创建表格时效果很好的东西:
CREATE TABLE [tbl_Records_DR] ( " _
& "[DAutoID] int IDENTITY (1,1) PRIMARY KEY NOT NULL " _
& ", [Hub_Unique_Name] nvarchar(30) DEFAULT '' NULL " _
& ", [DStatus] nvarchar(30) DEFAULT '' NULL " _
& ", [DDate] datetime NULL " _
& ", [DTime_Start] datetime NULL " _
& ", [ReportCreatedFrom] nvarchar(5) DEFAULT 'DR' NULL);")
CREATE TABLE [tbl_Records_DR_Explain] ( " _
& "[AutoID] int IDENTITY (1,1) NOT NULL " _
& ", [DRefer_ID] int PRIMARY KEY NOT NULL " _
& ", [DExplain] nvarchar(700) DEFAULT '' NULL " _
& ", [ImportCompleted] bit DEFAULT 0 NULL;")
谢谢, 黎明
【问题讨论】:
-
您是否已经在
tbl_Records_DR_Explain中定义了指向tbl_Records_DR的字段? Microsoft Docs 有关于创建外键的详细信息:docs.microsoft.com/en-us/sql/relational-databases/tables/… -
为什么要在这样的程序中创建表格?编写不能多次运行的代码似乎需要付出很多努力。
标签: sql sql-server