创建新行时,如何将GUID的前8个字符插入列中



我的数据库中有一个SQL服务器表。

在名为Admin的表中有一个名为Code的列。

如何将此设置为GUID的前8个字符的默认值?请注意,此列是varchar(8)。

当改变表时

ALTER TABLE ADMIN 
ADD CONSTRAINT DF_SomeName DEFAULT LEFT(NEWID(), 8) FOR Code;

ALTER TABLE ADMIN 
ADD CONSTRAINT DF_SomeName DEFAULT RIGHT(NEWID(), 8) FOR Code;

ALTER TABLE ADMIN 
ADD CONSTRAINT DF_SomeName DEFAULT SUBSTRING(CAST(NEWID() as VARCHAR(50)),1,8 ) FOR Code;

创建表时

CREATE TABLE ADMIN(
Code varchar(8)
 CONSTRAINT DF_PurchaseOrderDetail_rowguid DEFAULT
 LEFT(NEWID(), 8) FOR Code
 )

CREATE TABLE ADMIN(
Code varchar(8)
 CONSTRAINT DF_PurchaseOrderDetail_rowguid DEFAULT
 RIGHT(NEWID(), 8) FOR Code
 )

CREATE TABLE ADMIN(
Code varchar(8)
 CONSTRAINT DF_PurchaseOrderDetail_rowguid DEFAULT
 SUBSTRING(CAST(NEWID() as VARCHAR(50)),1,8 ) FOR Code
 )
ALTER TABLE [dbo].[table] 
    ADD CONSTRAINT [DF_table_myColumn] DEFAULT(left(newid(), (8)))
    FOR [myColumn]
GO

添加默认约束:

ALTER TABLE [dbo].[Admin] ADD  CONSTRAINT [DF_Admin_Code]  
DEFAULT (substring(CONVERT([varchar](50),newid(),0),(1),(8))) FOR [Code]

最新更新