Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 表是通过表上的update语句完成的。其中cursor的CURRENT将允许使用cursor state进行更新,而不是像update。。。where key=@key.谢谢-是的,基本上我就是这么想的。其中CURRENT OF是我在MS文档中找不到的一点_Sql_Sql Server_Tsql - Fatal编程技术网

Sql 表是通过表上的update语句完成的。其中cursor的CURRENT将允许使用cursor state进行更新,而不是像update。。。where key=@key.谢谢-是的,基本上我就是这么想的。其中CURRENT OF是我在MS文档中找不到的一点

Sql 表是通过表上的update语句完成的。其中cursor的CURRENT将允许使用cursor state进行更新,而不是像update。。。where key=@key.谢谢-是的,基本上我就是这么想的。其中CURRENT OF是我在MS文档中找不到的一点,sql,sql-server,tsql,Sql,Sql Server,Tsql,表是通过表上的update语句完成的。其中cursor的CURRENT将允许使用cursor state进行更新,而不是像update。。。where key=@key.谢谢-是的,基本上我就是这么想的。其中CURRENT OF是我在MS文档中找不到的一点语法,尽管我确信它在某个地方。欢迎提供指向解决方案的链接,但请确保您的答案在没有它的情况下是有用的:这样您的其他用户就会知道它是什么以及它为什么在那里,然后引用你链接到的页面最相关的部分,以防目标页面不可用。希望这样可以避免删除我的答案。:)谢


表是通过表上的update语句完成的。其中cursor的CURRENT将允许使用cursor state进行更新,而不是像update。。。where key=@key.谢谢-是的,基本上我就是这么想的。其中CURRENT OF是我在MS文档中找不到的一点语法,尽管我确信它在某个地方。欢迎提供指向解决方案的链接,但请确保您的答案在没有它的情况下是有用的:这样您的其他用户就会知道它是什么以及它为什么在那里,然后引用你链接到的页面最相关的部分,以防目标页面不可用。希望这样可以避免删除我的答案。:)谢谢,这很有帮助
declare curPO cursor
for select Product_ID, CurrentPOs from #t1
for update of CurrentPOs
open curPO

fetch next from curPO

while @@fetch_status = 0
begin
    select      OrderQuantity = <calculation>,
                ReceiveQuantity = <calculation>
    into        #POs
    from        PurchaseOrderLine POL 
    inner join  SupplierAddress SA ON POL.Supplier_ID = SA.Supplier_ID
    inner join  PurchaseOrderHeader POH ON POH.PurchaseOrder_ID = POL.PurchaseOrder_ID
    where       Product_ID = curPO.Product_ID
    and         SA.AddressType = '1801'

    update curPO set CurrentPOs = (select sum(OrderQuantity) - sum(ReceiveQuantity) from #POs)

    drop table #POs

    fetch next from curPO
end

close curPO
deallocate curPO
UPDATE #T1 
SET    CURRENTPOS = (SELECT SUM(ORDERQUANTITY) - SUM(RECEIVEQUANTITY) 
                     FROM   #POS) 
WHERE  CURRENT OF CURPO 
declare curPO cursor
for select Product_ID, CurrentPOs from #t1
for update of CurrentPOs
open curPO

fetch next from curPO

while @@fetch_status = 0
begin
    update curPO set CurrentPOs =
      (select      sum(<OrderQuantityCalculation>)
       from        PurchaseOrderLine POL 
       inner join  SupplierAddress SA ON POL.Supplier_ID = SA.Supplier_ID
       inner join  PurchaseOrderHeader POH ON POH.PurchaseOrder_ID = POL.PurchaseOrder_ID
       where       Product_ID = curPO.Product_ID
       and         SA.AddressType = '1801') -
      (select      sum(<ReceiveQuantityCalculation>)
       from        PurchaseOrderLine POL 
       inner join  SupplierAddress SA ON POL.Supplier_ID = SA.Supplier_ID
       inner join  PurchaseOrderHeader POH ON POH.PurchaseOrder_ID = POL.PurchaseOrder_ID
       where       Product_ID = curPO.Product_ID
       and         SA.AddressType = '1801')

    fetch next from curPO
end

close curPO
deallocate curPO
update DataBaseName..TableName
set ColumnName = value
where current of your_cursor_name;
DECLARE @cust_id INT = 2, @dynamic_val NVARCHAR(40), @val_a INT, @val_b INT

DECLARE @tbl_invoice table(Cust_ID INT, Cust_Fees INT, Cust_Tax INT)

INSERT @tbl_invoice ( Cust_ID, Cust_Fees, Cust_Tax ) SELECT 1, 111, 11
INSERT @tbl_invoice ( Cust_ID, Cust_Fees, Cust_Tax ) SELECT 2, 222, 22
INSERT @tbl_invoice ( Cust_ID, Cust_Fees, Cust_Tax ) SELECT 3, 333, 33

DECLARE @TblCust TABLE
(
    Rec_ID INT
    , Val_A INT
    , Val_B INT
    , Dynamic_Val NVARCHAR(40)
    , PRIMARY KEY NONCLUSTERED (Rec_ID)
)

INSERT @TblCust(Rec_ID, Val_A, Val_B, Dynamic_Val)
SELECT Rec_ID = Cust_ID, Val_A = Cust_Fees, Val_B = Cust_Tax, NULL
FROM @tbl_invoice

DECLARE cursor_cust CURSOR FOR
    SELECT Rec_ID, Val_A, Val_B, Dynamic_Val
    FROM @TblCust
    WHERE Rec_ID <> @cust_id
    FOR UPDATE OF Dynamic_Val;

OPEN cursor_cust;

FETCH NEXT FROM cursor_cust INTO @cust_id, @val_a, @val_b, @dynamic_val;

WHILE @@FETCH_STATUS = 0
BEGIN
    UPDATE @TblCust
        SET Dynamic_Val = N'@c = "' + LTRIM(STR((@val_a + @val_b), 40)) + N'"'
        WHERE CURRENT OF cursor_cust

    FETCH NEXT FROM cursor_cust INTO @cust_id, @val_a, @val_b, @dynamic_val;
END

CLOSE cursor_cust

DEALLOCATE cursor_cust

SELECT * FROM @TblCust