在我的Azure SQL DB中,我有一个外部表 - 让我们调用此tableName_origData
- 我还有另一个表,我们将其称为tableName
。
tableName
是使用CREATE
生成的tableName_origData
脚本(位于原始位置)创建的,因此我可以确定所有列类型都相同。
然而,当我跑
时INSERT INTO tableName (
[list of column names]
)
SELECT
[same list of column names]
FROM
tableName_origData
我遇到以下异常:
大对象列支持仅限于nvarchar(max)数据 类型。
就我对Azure SQL数据类型的理解而言,我没有比NVARCHAR(MAX)更大的东西。此外,该消息暗示支持NVARCHAR(MAX) <(并且我可以看到相同的脚本适用于包含NVARCHAR(MAX)的其他表。
任何人都可以更好地解释这个异常的原因以及为了将其数据插入到相同的表中我可能需要做些什么吗?
以下是表格中使用的所有列类型的列表:
BIGINT
x 3
NCHAR(20)
x 1
NVARCHAR(45)
x 5
NVARCHAR(100)
x 14
NVARCHAR(MAX)
x 10
答案 0 :(得分:0)
外部表是只读的。开发人员可以选择数据,但不能执行任何形式的DML处理
要解决此问题,请使用此技巧:
https://technology.amis.nl/2005/04/05/updateable-external-tables/
警告:除非最简单的用途,否则我们不建议将此技术用于任何严肃的应用