Voila je suis confronté a des triggers qui font appel a APPEND
et je suis sous Microsoft SQL Server 2000 - 8.00.760 (Intel X86) Dec 17
2002 14:22:05 Copyright (c) 1988-2003 Microsoft Corporation Standard
Edition on Windows NT 5.0 (Build 2195: Service Pack 4)
et malheureusement il ne reconnait pas APPEND est ce normal ??
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred BROUARD
APPEND n'existe pas en SQL.
A +
tournesol a écrit:
Voila je suis confronté a des triggers qui font appel a APPEND et je suis sous Microsoft SQL Server 2000 - 8.00.760 (Intel X86) Dec 17 2002 14:22:05 Copyright (c) 1988-2003 Microsoft Corporation Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 4) et malheureusement il ne reconnait pas APPEND est ce normal ??
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
APPEND n'existe pas en SQL.
A +
tournesol a écrit:
Voila je suis confronté a des triggers qui font appel a APPEND
et je suis sous Microsoft SQL Server 2000 - 8.00.760 (Intel X86) Dec 17
2002 14:22:05 Copyright (c) 1988-2003 Microsoft Corporation Standard
Edition on Windows NT 5.0 (Build 2195: Service Pack 4)
et malheureusement il ne reconnait pas APPEND est ce normal ??
--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Voila je suis confronté a des triggers qui font appel a APPEND et je suis sous Microsoft SQL Server 2000 - 8.00.760 (Intel X86) Dec 17 2002 14:22:05 Copyright (c) 1988-2003 Microsoft Corporation Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 4) et malheureusement il ne reconnait pas APPEND est ce normal ??
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Med Bouchenafa
La clause WITH APPEND peut encore être utilisée, pour des raisons de compatibilité, dans SQL Server 2000. Il est probable que tu rencontres un problème de syntaxe. Peux-tu afficher comment tu l'utilises sachant que cette clause n'est pas valable pour les triggers INSTEAD OF
-- Bien cordialement Med Bouchenafa
"tournesol" a écrit dans le message de news:
Voila je suis confronté a des triggers qui font appel a APPEND et je suis sous Microsoft SQL Server 2000 - 8.00.760 (Intel X86) Dec 17 2002 14:22:05 Copyright (c) 1988-2003 Microsoft Corporation Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 4) et malheureusement il ne reconnait pas APPEND est ce normal ??
La clause WITH APPEND peut encore être utilisée, pour des raisons de compatibilité, dans SQL Server
2000.
Il est probable que tu rencontres un problème de syntaxe.
Peux-tu afficher comment tu l'utilises sachant que cette clause n'est pas valable pour les triggers
INSTEAD OF
--
Bien cordialement
Med Bouchenafa
"tournesol" <tournesol@discussions.microsoft.com> a écrit dans le message de news:
BAB575F2-DC2A-4B61-AEFF-CB5F335DE760@microsoft.com...
Voila je suis confronté a des triggers qui font appel a APPEND
et je suis sous Microsoft SQL Server 2000 - 8.00.760 (Intel X86) Dec 17
2002 14:22:05 Copyright (c) 1988-2003 Microsoft Corporation Standard
Edition on Windows NT 5.0 (Build 2195: Service Pack 4)
et malheureusement il ne reconnait pas APPEND est ce normal ??
La clause WITH APPEND peut encore être utilisée, pour des raisons de compatibilité, dans SQL Server 2000. Il est probable que tu rencontres un problème de syntaxe. Peux-tu afficher comment tu l'utilises sachant que cette clause n'est pas valable pour les triggers INSTEAD OF
-- Bien cordialement Med Bouchenafa
"tournesol" a écrit dans le message de news:
Voila je suis confronté a des triggers qui font appel a APPEND et je suis sous Microsoft SQL Server 2000 - 8.00.760 (Intel X86) Dec 17 2002 14:22:05 Copyright (c) 1988-2003 Microsoft Corporation Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 4) et malheureusement il ne reconnait pas APPEND est ce normal ??
tournesol
Voila le trigger
CREATE TRIGGER TG_INS_F_JMOUV ON F_JMOUV FOR INSERT WITH APPEND AS DECLARE @nb int SET NOCOUNT ON SELECT @nb = COUNT(*) FROM INSERTED WHERE JO_Num IS NOT NULL AND JO_Num <> ''
IF @nb > 0 IF @nb <> (SELECT COUNT(*) FROM INSERTED,F_JOURNAUX WHERE INSERTED.JO_Num IS NOT NULL AND INSERTED.JO_Num <> '' AND F_JOURNAUX.cbJO_Num = INSERTED.cbJO_Num) BEGIN Raiserror(81108,11,1) WITH SETERROR Rollback Transaction Return END
Voila le trigger
CREATE TRIGGER TG_INS_F_JMOUV ON F_JMOUV FOR INSERT WITH APPEND AS
DECLARE @nb int
SET NOCOUNT ON
SELECT @nb = COUNT(*) FROM INSERTED
WHERE JO_Num IS NOT NULL AND JO_Num <> ''
IF @nb > 0
IF @nb <> (SELECT COUNT(*) FROM INSERTED,F_JOURNAUX
WHERE INSERTED.JO_Num IS NOT NULL AND INSERTED.JO_Num <> ''
AND F_JOURNAUX.cbJO_Num = INSERTED.cbJO_Num)
BEGIN
Raiserror(81108,11,1) WITH SETERROR
Rollback Transaction
Return
END
CREATE TRIGGER TG_INS_F_JMOUV ON F_JMOUV FOR INSERT WITH APPEND AS DECLARE @nb int SET NOCOUNT ON SELECT @nb = COUNT(*) FROM INSERTED WHERE JO_Num IS NOT NULL AND JO_Num <> ''
IF @nb > 0 IF @nb <> (SELECT COUNT(*) FROM INSERTED,F_JOURNAUX WHERE INSERTED.JO_Num IS NOT NULL AND INSERTED.JO_Num <> '' AND F_JOURNAUX.cbJO_Num = INSERTED.cbJO_Num) BEGIN Raiserror(81108,11,1) WITH SETERROR Rollback Transaction Return END
Med Bouchenafa
La syntaxte du CREATE TRIGGER est correcte. Je viens de faire le test suivant sur 2000 et cela passe sans problème USE tempdb GO
CREATE TABLE tblTest1 ( a INT ) go CREATE TRIGGER TG_INS_11 ON tblTest1 FOR INSERT WITH APPEND AS DECLARE @nb int SET NOCOUNT ON SELECT @nb = COUNT(*) FROM INSERTED WHERE a IS NOT NULL
Quel est exactement ton message d'erreur ?
Bien cordialement Med Bouchenafa
"tournesol" a écrit :
Voila le trigger
CREATE TRIGGER TG_INS_F_JMOUV ON F_JMOUV FOR INSERT WITH APPEND AS DECLARE @nb int SET NOCOUNT ON SELECT @nb = COUNT(*) FROM INSERTED WHERE JO_Num IS NOT NULL AND JO_Num <> ''
IF @nb > 0 IF @nb <> (SELECT COUNT(*) FROM INSERTED,F_JOURNAUX WHERE INSERTED.JO_Num IS NOT NULL AND INSERTED.JO_Num <> '' AND F_JOURNAUX.cbJO_Num = INSERTED.cbJO_Num) BEGIN Raiserror(81108,11,1) WITH SETERROR Rollback Transaction Return END
La syntaxte du CREATE TRIGGER est correcte.
Je viens de faire le test suivant sur 2000 et cela passe sans problème
USE tempdb
GO
CREATE TABLE tblTest1
(
a INT
)
go
CREATE TRIGGER TG_INS_11 ON tblTest1 FOR INSERT WITH APPEND
AS
DECLARE @nb int
SET NOCOUNT ON
SELECT @nb = COUNT(*) FROM INSERTED
WHERE a IS NOT NULL
Quel est exactement ton message d'erreur ?
Bien cordialement
Med Bouchenafa
"tournesol" a écrit :
Voila le trigger
CREATE TRIGGER TG_INS_F_JMOUV ON F_JMOUV FOR INSERT WITH APPEND AS
DECLARE @nb int
SET NOCOUNT ON
SELECT @nb = COUNT(*) FROM INSERTED
WHERE JO_Num IS NOT NULL AND JO_Num <> ''
IF @nb > 0
IF @nb <> (SELECT COUNT(*) FROM INSERTED,F_JOURNAUX
WHERE INSERTED.JO_Num IS NOT NULL AND INSERTED.JO_Num <> ''
AND F_JOURNAUX.cbJO_Num = INSERTED.cbJO_Num)
BEGIN
Raiserror(81108,11,1) WITH SETERROR
Rollback Transaction
Return
END
La syntaxte du CREATE TRIGGER est correcte. Je viens de faire le test suivant sur 2000 et cela passe sans problème USE tempdb GO
CREATE TABLE tblTest1 ( a INT ) go CREATE TRIGGER TG_INS_11 ON tblTest1 FOR INSERT WITH APPEND AS DECLARE @nb int SET NOCOUNT ON SELECT @nb = COUNT(*) FROM INSERTED WHERE a IS NOT NULL
Quel est exactement ton message d'erreur ?
Bien cordialement Med Bouchenafa
"tournesol" a écrit :
Voila le trigger
CREATE TRIGGER TG_INS_F_JMOUV ON F_JMOUV FOR INSERT WITH APPEND AS DECLARE @nb int SET NOCOUNT ON SELECT @nb = COUNT(*) FROM INSERTED WHERE JO_Num IS NOT NULL AND JO_Num <> ''
IF @nb > 0 IF @nb <> (SELECT COUNT(*) FROM INSERTED,F_JOURNAUX WHERE INSERTED.JO_Num IS NOT NULL AND INSERTED.JO_Num <> '' AND F_JOURNAUX.cbJO_Num = INSERTED.cbJO_Num) BEGIN Raiserror(81108,11,1) WITH SETERROR Rollback Transaction Return END
tournesol
Des que je tente d'insérer un nouvel enregistrement j'ai le message d'erreur suivant :
RAISERROR ne peut localiser l'entree dans sysmessages pour l'erreur 81108
(ATTENTION : J'ai une copie de la base d'origine)
Le deuxieme trigger de cette table pour l'insertion est le suivant CREATE TRIGGER TG_CBINS_F_JMOUV ON F_JMOUV FOR INSERT WITH APPEND AS SET NOCOUNT ON IF dbo.CB_FntIsFileLock('F_JMOUV',3) = 1 BEGIN Raiserror(80004,11,1) WITH SETERROR Rollback Transaction Return END IF dbo.CB_FntIsFileLock('F_JMOUV',0) = 1 BEGIN Raiserror(80008,11,1) WITH SETERROR Rollback Transaction Return END IF dbo.CB_FntIsFileLock('F_JMOUV',1) = 1 BEGIN Raiserror(80008,11,1) WITH SETERROR Rollback Transaction Return END
UPDATE F_JMOUV SET cbReplication = (SELECT CB_Replication FROM cbSysTable WHERE CB_Type = 'CPTA') FROM inserted WHERE F_JMOUV.cbMarq = inserted.cbMarq
Des que je tente d'insérer un nouvel enregistrement j'ai le message d'erreur
suivant :
RAISERROR ne peut localiser l'entree dans sysmessages pour l'erreur 81108
(ATTENTION : J'ai une copie de la base d'origine)
Le deuxieme trigger de cette table pour l'insertion est le suivant
CREATE TRIGGER TG_CBINS_F_JMOUV ON F_JMOUV FOR INSERT WITH APPEND AS
SET NOCOUNT ON
IF dbo.CB_FntIsFileLock('F_JMOUV',3) = 1
BEGIN
Raiserror(80004,11,1) WITH SETERROR
Rollback Transaction
Return
END
IF dbo.CB_FntIsFileLock('F_JMOUV',0) = 1
BEGIN
Raiserror(80008,11,1) WITH SETERROR
Rollback Transaction
Return
END
IF dbo.CB_FntIsFileLock('F_JMOUV',1) = 1
BEGIN
Raiserror(80008,11,1) WITH SETERROR
Rollback Transaction
Return
END
UPDATE F_JMOUV SET cbReplication = (SELECT CB_Replication FROM
cbSysTable WHERE CB_Type = 'CPTA') FROM inserted WHERE F_JMOUV.cbMarq =
inserted.cbMarq
Des que je tente d'insérer un nouvel enregistrement j'ai le message d'erreur suivant :
RAISERROR ne peut localiser l'entree dans sysmessages pour l'erreur 81108
(ATTENTION : J'ai une copie de la base d'origine)
Le deuxieme trigger de cette table pour l'insertion est le suivant CREATE TRIGGER TG_CBINS_F_JMOUV ON F_JMOUV FOR INSERT WITH APPEND AS SET NOCOUNT ON IF dbo.CB_FntIsFileLock('F_JMOUV',3) = 1 BEGIN Raiserror(80004,11,1) WITH SETERROR Rollback Transaction Return END IF dbo.CB_FntIsFileLock('F_JMOUV',0) = 1 BEGIN Raiserror(80008,11,1) WITH SETERROR Rollback Transaction Return END IF dbo.CB_FntIsFileLock('F_JMOUV',1) = 1 BEGIN Raiserror(80008,11,1) WITH SETERROR Rollback Transaction Return END
UPDATE F_JMOUV SET cbReplication = (SELECT CB_Replication FROM cbSysTable WHERE CB_Type = 'CPTA') FROM inserted WHERE F_JMOUV.cbMarq = inserted.cbMarq
Med Bouchenafa
SELECT * FROM master.dbo.sysmessages WHERE error = 80008 devrait montrer que tu n'as pas d'entrée pour le code d'erreur (80008) que tu mets dans ton trigger
Bien cordialement Med Bouchenafa
"tournesol" a écrit :
Des que je tente d'insérer un nouvel enregistrement j'ai le message d'erreur suivant :
RAISERROR ne peut localiser l'entree dans sysmessages pour l'erreur 81108
(ATTENTION : J'ai une copie de la base d'origine)
Le deuxieme trigger de cette table pour l'insertion est le suivant CREATE TRIGGER TG_CBINS_F_JMOUV ON F_JMOUV FOR INSERT WITH APPEND AS SET NOCOUNT ON IF dbo.CB_FntIsFileLock('F_JMOUV',3) = 1 BEGIN Raiserror(80004,11,1) WITH SETERROR Rollback Transaction Return END IF dbo.CB_FntIsFileLock('F_JMOUV',0) = 1 BEGIN Raiserror(80008,11,1) WITH SETERROR Rollback Transaction Return END IF dbo.CB_FntIsFileLock('F_JMOUV',1) = 1 BEGIN Raiserror(80008,11,1) WITH SETERROR Rollback Transaction Return END
UPDATE F_JMOUV SET cbReplication = (SELECT CB_Replication FROM cbSysTable WHERE CB_Type = 'CPTA') FROM inserted WHERE F_JMOUV.cbMarq = inserted.cbMarq
SELECT * FROM master.dbo.sysmessages
WHERE error = 80008
devrait montrer que tu n'as pas d'entrée pour le code d'erreur (80008) que
tu mets dans ton trigger
Bien cordialement
Med Bouchenafa
"tournesol" a écrit :
Des que je tente d'insérer un nouvel enregistrement j'ai le message d'erreur
suivant :
RAISERROR ne peut localiser l'entree dans sysmessages pour l'erreur 81108
(ATTENTION : J'ai une copie de la base d'origine)
Le deuxieme trigger de cette table pour l'insertion est le suivant
CREATE TRIGGER TG_CBINS_F_JMOUV ON F_JMOUV FOR INSERT WITH APPEND AS
SET NOCOUNT ON
IF dbo.CB_FntIsFileLock('F_JMOUV',3) = 1
BEGIN
Raiserror(80004,11,1) WITH SETERROR
Rollback Transaction
Return
END
IF dbo.CB_FntIsFileLock('F_JMOUV',0) = 1
BEGIN
Raiserror(80008,11,1) WITH SETERROR
Rollback Transaction
Return
END
IF dbo.CB_FntIsFileLock('F_JMOUV',1) = 1
BEGIN
Raiserror(80008,11,1) WITH SETERROR
Rollback Transaction
Return
END
UPDATE F_JMOUV SET cbReplication = (SELECT CB_Replication FROM
cbSysTable WHERE CB_Type = 'CPTA') FROM inserted WHERE F_JMOUV.cbMarq =
inserted.cbMarq
SELECT * FROM master.dbo.sysmessages WHERE error = 80008 devrait montrer que tu n'as pas d'entrée pour le code d'erreur (80008) que tu mets dans ton trigger
Bien cordialement Med Bouchenafa
"tournesol" a écrit :
Des que je tente d'insérer un nouvel enregistrement j'ai le message d'erreur suivant :
RAISERROR ne peut localiser l'entree dans sysmessages pour l'erreur 81108
(ATTENTION : J'ai une copie de la base d'origine)
Le deuxieme trigger de cette table pour l'insertion est le suivant CREATE TRIGGER TG_CBINS_F_JMOUV ON F_JMOUV FOR INSERT WITH APPEND AS SET NOCOUNT ON IF dbo.CB_FntIsFileLock('F_JMOUV',3) = 1 BEGIN Raiserror(80004,11,1) WITH SETERROR Rollback Transaction Return END IF dbo.CB_FntIsFileLock('F_JMOUV',0) = 1 BEGIN Raiserror(80008,11,1) WITH SETERROR Rollback Transaction Return END IF dbo.CB_FntIsFileLock('F_JMOUV',1) = 1 BEGIN Raiserror(80008,11,1) WITH SETERROR Rollback Transaction Return END
UPDATE F_JMOUV SET cbReplication = (SELECT CB_Replication FROM cbSysTable WHERE CB_Type = 'CPTA') FROM inserted WHERE F_JMOUV.cbMarq = inserted.cbMarq