找回密码
 立即注册

QQ登录

只需一步,快速开始

林小鱼
金牌服务用户   /  发表于:2024-9-23 16:18  /   查看:38  /  回复:4
100金币
本帖最后由 Lay.Li 于 2024-9-23 16:24 编辑



两个表,表结构一模一样

执行下面的语句


  DECLARE @jsonData NVARCHAR(MAX) = N'[{"Sub_dh":"张三","主表ID":"1"},{"Sub_dh":"李四","主表ID":"2"}]';
INSERT INTO test2024.dbo.Doc2 (Sub_dh, 主表ID)
SELECT * FROM OPENJSON(@jsonData)
WITH (Sub_dh VARCHAR(128),主表ID bigint)


test2024 就要报错


消息 319,级别 15,状态 2,第 11 行
关键字 'with' 附近有语法错误。如果此语句是公用表表达式、xmlnamespaces 子句或者更改跟踪上下文子句,那么前一个语句必须以分号结尾。


testing
可以正常执行

哪位大佬指点下迷津
我都尝试在test2024里头重新创建一模一样的表,依然不行~我都怀疑是这个test2024这个数据库的问题了。。。

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

4 个回复

倒序浏览
咖啡里讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:4 天前
沙发
INSERT INTO test2024.dbo.Doc2
(Sub_dh,
主表ID)
SELECT
Sub_dh,
主表ID
FROM OPENJSON(@jsonData)
WITH (
Sub_dh VARCHAR(128),
主表ID bigint)

评分

参与人数 1金币 +5 收起 理由
Lay.Li + 5 赞一个!

查看全部评分

回复 使用道具 举报
林小鱼
金牌服务用户   /  发表于:4 天前
板凳
咖啡里 发表于 2024-9-23 16:31
INSERT INTO test2024.dbo.Doc2
(Sub_dh,
主表ID)


还是提示这个


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
林小鱼
金牌服务用户   /  发表于:4 天前
地板
咖啡里 发表于 2024-9-23 16:31
INSERT INTO test2024.dbo.Doc2
(Sub_dh,
主表ID)

找到原因了 test2024的数据库是从2008版本还原过来的



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1金币 +5 收起 理由
Lay.Li + 5 赞一个!

查看全部评分

回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:4 天前
5#
感谢各位大佬的支持~
这个一般就是数据库版本不同的原因,问题解决了就好,后边有问题欢迎您继续发帖交流
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部