我将在SQL Server的游标中分配一些参数值,如下所示:
DECLARE insertapiinvoicedetail_cursor CURSOR FOR
SELECT
@CompanyID = CompanyID,
@APID_Master_Id = APOD_Master_Id,
@APID_Project_Id = APOD_Project_Id,
@APID_Item_Num = APOD_Item_Num,
@APID_Project_Code = APOD_Project_Code,
@APID_Item_Id = APOD_Item_Id,
@apid_cost_centre_id = apod_cost_centre_id
FROM
Account_APOrderDetail aod
WHERE
aod.APOD_Master_Id IN (SELECT ref_code
FROM Account_APOrderMaster
WHERE apo_order_id = 00122975);
但是当运行查询时,我收到此错误消息
第15行,州3,第110行的消息154
游标声明中不允许变量赋值。
如何解决此问题?
编辑问题
DECLARE @Create_UserId uniqueidentifier,
@Create_Date datetime,
@Modification_UserId uniqueidentifier,
@Modification_Date datetime,
SET @Create_UserId = '535EFDB6-CA05-4DB3-A379-E3D65CF9C08F';
SET @Create_Date = '2017-05-16 08:51:10.080';
SET @Modification_UserId = '535EFDB6-CA05-4DB3-A379-E3D65CF9C08F';
SET @Modification_Date = '2017-06-29 17:06:20.103';
DECLARE insertapiinvoicedetail_cursor CURSOR FOR
select
CompanyID,APOD_Master_Id,APOD_Project_Id,APOD_Item_Num,APOD_Project_Code, APOD_Item_Id,apod_cost_centre_id
from Account_APOrderDetail aod
where aod.APOD_Master_Id in (
select ref_code
from Account_APOrderMaster
where apo_order_id = 00122975
);
OPEN insertapiinvoicedetail_cursor
FETCH NEXT FROM insertapiinvoicedetail_cursor INTO
.....
答案 0 :(得分:0)
您必须在光标的Fetch Into
部分进行分配
DECLARE insertapiinvoicedetail_cursor CURSOR FOR
SELECT
CompanyID, APOD_Master_Id, APOD_Project_Id,
APOD_Item_Num, APOD_Project_Code, APOD_Item_Id, apod_cost_centre_id
FROM
Account_APOrderDetail aod
WHERE
aod.APOD_Master_Id IN (SELECT ref_code
FROM Account_APOrderMaster
WHERE apo_order_id = 00122975);
OPEN insertapiinvoicedetail_cursor
FETCH NEXT FROM insertapiinvoicedetail_cursor
INTO @CompanyID, @APID_Master_Id, @APID_Project_Id, @APID_Item_Num,
@APID_Project_Code, @APID_Item_Id, @apid_cost_centre_id
...