这是一个关于设计的问题,而不是解决问题。
我创建了三个表
CREATE TABLE [CapInvUser](
[UserId] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](150) NOT NULL,
[AreaId] [int] NULL,
[Account] [varchar](150) NULL,
[mail] [varchar](150) NULL,
[UserLevelId] [int] NOT NULL
)
CREATE TABLE [CapInvUserLevel](
[UserLevelId] [int] IDENTITY(1,1) NOT NULL,
[Level] [varchar](50) NOT NULL
)
CREATE TABLE [CapInvUserRegistry](
[UserRegistryId] [int] IDENTITY(1,1) NOT NULL,
[UserLevelId] int NOT NULL,
[DateRegistry] DATE NOT NULL,
[RegistryStatus] VARCHAR(50) NOT NULL,
)
使用一个视图显示第一个表上的所有数据,其中“AreaId”被解析为该表的varchar标识符,UserLevel被解析为该表的varchar值,以及注册表状态的连接最后一个。
现在,当我想注册一个新用户时,我使用单独的查询插入所有三个表,但我觉得我应该有办法同时插入所有这些表。
我考虑过使用存储过程进行插入,但我仍然不知道这是否适用。 我的问题是
- 这只是表格的表示,而不是真实的表格。 - 我还在学习如何正确使用SQL Server。
感谢您的回答和/或指导。
答案 0 :(得分:1)
根据我的经验,最常见的方法是编写一个存储过程,以必要的顺序执行所有三个插入以创建FK关系。
这是我明确的建议。