【问题标题】:How to insert data in derived columns SQL如何在派生列SQL中插入数据
【发布时间】:2021-06-24 21:21:19
【问题描述】:

我有一个包含派生列的视图,我需要创建一个存储过程来插入视图

我试过了

CREATE PROCEDURE INSERTInVIEW
(
    @ID DECIMAL(10,2),
    @Name ....,
    @Address....,
    @Phone
)
AS
BEGIN
    INSERT INTO MyView (ID, Name, Address, Phone)
    VALUES (@ID, @Name, @Address, @Phone)
END

地址是视图中的计算字段。 我收到插入失败的错误,因为它包含派生或计算字段。 哪个应该是执行此插入的最佳方式?

【问题讨论】:

  • 这是什么类型的SQL数据库?
  • @devlincarnate - 这是 Sql Server Management Studio v18.4
  • 你可以按照一定的规则插入到视图中,但是你不能插入到计算列中......这将如何工作?
  • 当地址是计算列时,为什么要显式插入地址值?
  • 你自己说过,你有一个派生列 - 这是一个组成的列,它不是实际表的一部分(如果它是,您只需选择它);您不能将数据插入到 组成的 列中——它会去哪里?你将如何找回它?

标签: sql sql-server tsql computed-field


【解决方案1】:

如果您的视图基于多个表,则它可能无法更新。尝试检查 information_schema 表:

SELECT IS_UPDATEABLE
FROM INFORMATION_SCHEMA.VIEWS
WHERE TABLENAME = 'YourTableName';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-02
    • 2017-04-19
    • 1970-01-01
    • 2022-12-01
    • 2021-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多