【问题标题】:SQL Server temporary tables with a key in different sessionsSQL Server 临时表与不同会话中的键
【发布时间】:2018-05-12 07:52:41
【问题描述】:

在存储过程中,我使用带有主键的临时表。

CREATE TABLE #tmpTable
(
    [RowId] [bigint] IDENTITY(1,1) NOT NULL,
    [Id] [numeric](10, 0) NOT NULL
)

ALTER TABLE #tmpTable 
    ADD CONSTRAINT PK_NamePK PRIMARY KEY CLUSTERED (RowId); 

该过程有效,但如果我在另一个会话中运行相同的过程,我会收到错误

'PK_NamePK 已经存在'

如何在临时表上使用键或索引,以便它们仅在其范围内可见?

【问题讨论】:

  • 1) 不要命名(在定义中声明/让数据库来做)。 2)创建一个适当的表,而不是临时表。 .

标签: sql-server tsql primary-key temp-tables


【解决方案1】:
   CREATE TABLE #tmpTable
   (
        [RowId] [bigint] IDENTITY(1,1) NOT NULL PRIMARY KEY,
        [Id] [numeric](10, 0) NOT NULL
    )

不需要添加alter table,可以通过创建表来定义。希望这项工作,我以前从未尝试在 temptable 上添加主键。

【讨论】:

    猜你喜欢
    • 2011-07-10
    • 2011-06-01
    • 1970-01-01
    • 2012-02-13
    • 1970-01-01
    • 2011-02-14
    • 2022-01-03
    • 1970-01-01
    • 2010-09-07
    相关资源
    最近更新 更多