繁体   English   中英

如何使用Peta Poco将自动递增的id设置为另一列

[英]How to set auto incremented id to another column with using Peta Poco

我使用C#,SQL Server和PetaPoco默认自动递增ID 我只想知道如果可以将此自动增量ID设置为另一列。

我需要使用ID的确切值设置另外2列。 是否可以在SQL CREATE TABLE语句中执行此操作或在ExecuteNonQuery之前或之后执行某些挂钩? 如果可能的话,我不想创建视图或触发器。

是的,当然 - CREATE TABLE允许您通过将IDENTITY关键字添加到列定义来定义哪个列将成为自动增量列。 这适用于任何基于整数的列,或DECIMAL(p, 0)类型的列( 0比例 - 没有后点数)。

例如

CREATE TABLE dbo.YourTable
(
    ID INT NOT NULL,
    SomeOtherColumn BIGINT IDENTITY(1,1) NOT NULL,
    ....
)

有关完整和完整的详细信息,请参阅CREATE TABLEMS文档

更新:所以你有3个独立的第三方应用程序,都可以访问这个表,并且都希望找到特定的列 - 其中一个可以创建标识列。 可以计算另外两个,保留该标识列的“副本” - 如下所示:

CREATE TABLE dbo.YourTable
(
    ID INT NOT NULL,
    YourIdentityColumn BIGINT IDENTITY(1,1) NOT NULL,
    ....
    SpecialColumnForApp2 AS YourIdentityColumn PERSISTED,
    SpecialColumnForApp3 AS YourIdentityColumn PERSISTED,
    ....
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM