You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Azure Data Factory中使用存储过程派生列值出现concat语法错误求助

错误原因
  • 语法错误直接来自INSERT语句的VALUES子句规则:所有要插入的值表达式必须用圆括号包裹,你原有代码未给concat函数调用加外层括号,触发语法报错。
  • 要实现col_1_value, col_2_value的格式,需要在拼接时额外添加两个参数中间的逗号和空格字符。
修正后的存储过程代码
CREATE PROC deriveColumn_SP
    @col_1 VARCHAR(20),
    @col_2 VARCHAR(20)
AS
BEGIN
    INSERT INTO tableName(col_5)
    VALUES (CONCAT(@col_1, ', ', @col_2))
END
兼容低版本SQL Server的备选写法

如果你的数据库版本是SQL Server 2008及更早,不支持CONCAT函数,可直接用+运算符拼接(你所有字段都是varchar类型,无类型转换风险):

CREATE PROC deriveColumn_SP
    @col_1 VARCHAR(20),
    @col_2 VARCHAR(20)
AS
BEGIN
    INSERT INTO tableName(col_5)
    VALUES (@col_1 + ', ' + @col_2)
END

注意:你当前的存储过程逻辑是插入一条仅col_5有值的新行,如果你的实际需求是更新表中已有行的col_5字段,需要将INSERT语句替换为带筛选条件的UPDATE语句,避免生成无效的空数据行。

内容的提问来源于stack exchange,提问作者D.R.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 02:45:09