【问题标题】:How to manage an ImportHistory in a Database?如何管理数据库中的 ImportHistory?
【发布时间】:2023-03-14 12:47:01
【问题描述】:

我有一个表 ImportHistory,其中存储了进口历史。 (每次用户上传文件时,我都会存储一行)。

CREATE TABLE [dbo].[ImportHistory]
(
    [Id]   INT  IDENTITY (1, 1) NOT NULL,
    [Date] TIMESTAMP NOT NULL, 
    CONSTRAINT [PK_ImportHistory] PRIMARY KEY ([Id])
)

我也有

CREATE TABLE [dbo].[Sales] (
    [Id]              VARCHAR (150)   NOT NULL,
  ...
    [ImportHistoryId] INT             NOT NULL,
  ...
    CONSTRAINT [FK_Sales_ImportHistory] FOREIGN KEY ([ImportHistoryId]) REFERENCES [dbo].[ImportHistory] ([Id])
);

问题是每次我在 SALES 中为此导入会话插入一行时,如何正确获取 ImportHistory 的 ID 并存储它?

【问题讨论】:

  • 我相信对于每个销售插页,您有 2 个制作插页,1 个在 ImportHistiry 中,1 个在 Sales 中。插入 ImportHistory 后,您将获取 id 并在销售插入中用作 ImportHistoryId

标签: sql-server database history


【解决方案1】:
  1. 您在ImportHistory 中插入一行。
  2. SELECT SCOPE_IDENTITY()获取新创建记录的ID。
  3. 您插入销售记录,使用在第 2 步中获得的值作为ImportHistoryID

PS:timestamp data type is not what you think it is. 你可能想改用datedatetime2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多