首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL fetch正在工作,但在触发器中不工作

SQL fetch正在工作,但在触发器中不工作
EN

Stack Overflow用户
提问于 2018-06-06 18:49:33
回答 1查看 56关注 0票数 0

我正在尝试创建一个触发器,在创建之前,我尝试在执行内部代码时对其进行测试。获取代码本身起作用,但触发器不起作用。代码如下:

代码语言:javascript
复制
USE [PMIDB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[BRK_ÇEKME_KAP_INSERTED]
ON [dbo].[ATMATERIALTRANS]
FOR INSERT
AS BEGIN
    DECLARE @RDATE DATE
    DECLARE @MAKİNE VARCHAR(10)
    DECLARE @OKUTULAN_BARKOD VARCHAR(20)
    DECLARE @MIKTAR INT
    DECLARE @WC_ID INT
SELECT * FROM ATMATERIALTRANS

DECLARE CUR CURSOR 
FOR 

    SELECT TDATE, WORKCENTERS.CODE, ATMATERIALS.BARCODE, ATMATERIALS.AMOUNT, WC_ID  FROM INSERTED T1     
                                LEFT JOIN ATCOMPOSITIONS ON ATCOMPOSITIONS.ID=T1.COMPID
                                LEFT JOIN WORKCENTERS ON WORKCENTERS.ID=T1.WC_ID
                                LEFT JOIN ATMATERIALS ON ATMATERIALS.ID=ATCOMPOSITIONS.MATERIALID
        WHERE T1.COMPID IS NOT NULL AND WORKCENTERS.CODE LIKE 'DD%'

OPEN CUR 
FETCH NEXT FROM CUR INTO @RDATE, @MAKİNE, @OKUTULAN_BARKOD,@MIKTAR, @WC_ID
WHILE @@FETCH_STATUS=0 BEGIN
        INSERT INTO BURAK..ÇEKME_KAP (TARİH,MAKİNE,OKUTULAN_BARKOD,MİKTAR, HAMMADDE_GCKOD)
        VALUES 
        (@RDATE,
        @MAKİNE,
        @OKUTULAN_BARKOD,
        @MIKTAR, 'G')

        UPDATE BURAK..MALKABUL_BARKOD SET BURAK..MALKABUL_BARKOD.KULLANILDI =1 WHERE BURAK..MALKABUL_BARKOD.BARKOD=@OKUTULAN_BARKOD
    FETCH NEXT FROM CUR INTO @RDATE, @MAKİNE, @OKUTULAN_BARKOD,@MIKTAR, @WC_ID      
END
CLOSE CUR
DEALLOCATE CUR
END
EN

回答 1

Stack Overflow用户

发布于 2018-06-06 19:38:24

  1. 您似乎是在尝试创建一个触发器来将结果集返回给应用程序,应该避免这样做。
    1. 这条SQL语句看起来根本不需要游标。这可以通过一个简单的DML statement.

实现。

在编写触发器以通过触发器将结果返回给应用程序之前,请参考以下语句。

“触发触发器时,结果将返回给调用应用程序,就像存储过程一样。若要防止由于触发器激发而将结果返回到应用程序,请不要包括返回结果的SELECT语句或在触发器中执行变量赋值的语句。包含向用户返回结果的SELECT语句或执行变量赋值的语句的触发器需要特殊处理;这些返回的结果必须写入允许修改触发器表的每个应用程序中。如果必须在触发器中进行变量赋值,请在触发器的开头使用SET NOCOUNT语句以防止返回任何结果集。“

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50718529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档