我目前在 SQL Server 中遇到这个问题,无法弄清楚问题出在哪里。
我正在为以下代码使用存储过程:
DECLARE @cSql nVARCHAR(1000)
SET @cSql = 'SELECT
[A].[REC_ID],
[A].[ADJUSTMENT_REC_ID],
[A].[ITEM_REC_ID],
[B].[CODE] [ITEM_CODE],
[B].[ALIAS_NAME] [ITEM_NAME],
[A].[WAREHOUSE_REC_ID],
[C].[CODE] [WAREHOUSE_CODE],
[C].[NAME] [WAREHOUSE_NAME],
[A].[qty_before_basic_uom],
[A].[qty_before_uom_1],
[A].[qty_adjust_basic_uom],
[A].[qty_adjust_uom_1],
[A].[qty_after_basic_uom],
[A].[qty_after_uom_1],
[A].[basic_uom],
[A].[uom_1],
[A].[ADJUST_VALUE],
[A].[cogs_adjust],
[A].[cogs_adjust_total],
[A].[asset_account_rec_id],
[A].[debit_account_rec_id],
[A].[credit_account_rec_id],
[A].[remark],
[A].[record_version],
[A].[void_status],
[A].[void_reason],
[A].[void_datetime],
[A].[void_user_rec_id],
[A].[create_datetime],
[A].[create_user_rec_id],
[A].[edit_datetime],
[A].[edit_user_rec_id],
[A].[delete_datetime],
[A].[delete_user_rec_id]
INTO [' + @cTemp + ']
FROM [IM_trsInventoryAdjustment_Detail] [A]
JOIN [IM_mstInventoryItem] [B] ON
[B].[REC_ID] = [A].[item_rec_id]
JOIN [IM_mstWarehouse] [C] ON
[C].[REC_ID] = [A].[warehouse_rec_id]
WHERE 1=0;'
EXEC sp_executeSQL @cSql
一旦我执行查询,SQL Server 就会在每一列上弹出“多部分标识符”错误。
你能帮我定位一下我的错误在哪里吗??
附言我正在使用动态查询,因为我正在向其注入(inject)数据的临时表会不断变化......
最佳答案
天哪,唯一的问题是我的变量不够长,无法包含整个命令。
这是我用 PRINT 替换 EXEC 时的结果:
SELECT
[A].[REC_ID],
[A].[ADJUSTMENT_REC_ID],
[A].[ITEM_REC_ID],
[B].[CODE] [ITEM_CODE],
[B].[ALIAS_NAME] [ITEM_NAME],
[A].[WAREHOUSE_REC_ID],
[C].[CODE] [WAREHOUSE_CODE],
[C].[NAME] [WAREHOUSE_NAME],
[A].[qty_before_basic_uom],
[A].[qty_before_uom_1],
[A].[qty_adjust_basic_uom],
[A].[qty_adjust_uom_1],
[A].[qty_after_basic_uom],
[A].[qty_after_uom_1],
[A].[basic_uom],
[A].[uom_1],
[A].[ADJUST_VALUE],
[A].[cogs_adjust],
[A].[cogs_adjust_total],
[A].[asset_account_rec_id],
[A].[debit_account_rec_id],
[A].[credit_account_rec_id],
[A].[remark],
[A].[record_version],
[A].[void_status],
[A].[void_reason],
[A].[void_datet
这就是我所做的。我改变了:
DECLARE @cSQL NVARCHAR(1000)
到
DECLARE @cSQL NVARCHAR(4000)
而且效果很好。错误消失了,我现在可以继续处理其他错误。
感谢评论和输入!!
关于sql-server - SQL 错误 : The multi-part identifier . .. 无法绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42805996/