【问题标题】:Calculated and converted field [closed]计算和转换的字段[关闭]
【发布时间】:2020-12-09 23:16:57
【问题描述】:

我正在尝试在 SQL 中创建一个计算字段,这样当在表中创建记录时,我会捕获该记录的主键 Id,并将其保存在同一记录的新字段中,但属于 @987654322 @类型。

但我不知道如何实现它。此外,新领域必须保持持久性。

谢谢,

【问题讨论】:

  • (1) 请为您的表分享当前的create table 声明。 (2) 为什么要这样做?
  • 请展示一些示例数据来说明您的问题。

标签: sql sql-server database primary-key calculated-columns


【解决方案1】:

您似乎想要一个持久的计算列。 SQL Server 中的语法如下:

create table mytable (
    id int identity(1, 1) primary key,
    val varchar(5),
    charid as convert(varchar(10), id) persisted
);

charid 是计算列。我使用了一个标识列作为主键,但它不需要是 identity 代码才能工作。

现在假设你像这样插入一条新记录:

insert into mytable (val) values ('foo');

表格内容为:

编号 |值 |沙里德 -: | :-- | :----- 1 |富 | 1

Demo on DB Fiddle

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    • 2014-03-30
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    相关资源
    最近更新 更多