bbc*_*iao 5 c# sql-server petapoco
我使用C#,SQL Server和PetaPoco,它们ID
默认情况下会自动递增。我只想知道是否可以将此自动递增的id设置为另一列。
我还有2列需要设置ID的确切值。是否可以在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,
....
)
Run Code Online (Sandbox Code Playgroud)
有关完整且完整的详细信息,请参阅MS 文档CREATE TABLE
更新:因此您有 3 个独立的第三方应用程序,它们都访问此表,并且都希望找到特定列 - 您可以将其中之一设置为标识列。另外两个可以计算,该身份列的持久“副本” - 如下所示:
CREATE TABLE dbo.YourTable
(
ID INT NOT NULL,
YourIdentityColumn BIGINT IDENTITY(1,1) NOT NULL,
....
SpecialColumnForApp2 AS YourIdentityColumn PERSISTED,
SpecialColumnForApp3 AS YourIdentityColumn PERSISTED,
....
)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
63 次 |
最近记录: |