की आवश्यकता है मैंने एक ट्रिगर लिखा है।विषम प्रश्नों के लिए ANSI_NULLS
USE [TEST]
GO
/****** Object: Trigger [dbo].[TR_POSTGRESQL_UPDATE_YC] Script Date: 05/26/2010 08:54:03 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[TR_POSTGRESQL_UPDATE_YC] ON [dbo].[BCT_CNTR_EVENTS]
FOR INSERT
AS
BEGIN
DECLARE @MOVE_TIME varchar(14);
DECLARE @MOVE_TIME_FORMATED varchar(20);
DECLARE @RELEASE_NOTE varchar(32);
DECLARE @CMR_NUMBER varchar(15);
DECLARE @MOVE_TYPE varchar(2);
SELECT @MOVE_TIME = inserted.move_time
,@MOVE_TYPE = inserted.move_type
,@RELEASE_NOTE = inserted.release_note
,@CMR_NUMBER = inserted.cmr_number FROM inserted
IF(@MOVE_TYPE = 'YC')
BEGIN
SET @MOVE_TIME_FORMATED = SUBSTRING(@MOVE_TIME,1,4) + '-' + SUBSTRING(@MOVE_TIME,5,2) + '-' + SUBSTRING(@MOVE_TIME,7,2) + ' 00:00:00'
--UPDATE OpenQuery(POSTGRESQL_SERV,'SELECT visit_cmr,visit_timestamp,visit_pin FROM VISIT')
-- SET visit_cmr = @RELEASE_NOTE
-- WHERE visit_timestamp = @MOVE_TIME_FORMATED
-- AND visit_pin = right(@CMR_NUMBER,5)
-- AND visit_cmr IS NULL
END
SET NOCOUNT ON;
END
जब मैंने पंक्ति डालने का प्रयास किया, तो मुझे एक त्रुटि मिली है।
विषम प्रश्नों की आवश्यकता होती है ANSI_NULLS और ANSI_WARNINGS विकल्पों कनेक्शन के लिए स्थापित किया जाना। यह लगातार क्वेरी semantics सुनिश्चित करता है। इन विकल्पों को सक्षम करें और फिर अपनी क्वेरी को पुन: जारी करें।
इसके बाद मैंने SET SET ANSI_WARNINGS is ON
का उपयोग करने का प्रयास किया है, हालांकि यह काम नहीं करता है। (लिंक किए गए सर्वर PostgreSQL के लिए एक ट्रिगर)
एक ही त्रुटि का उपयोग करने के लिए जब करने के लिए "ऑन" सेट ट्रिगर में? – gbn
वाक्यविन्यास ठीक है। मैंने अपने स्थानीय सर्वर पर एक परीक्षण 'ट्रिगर' किया - यह एक अच्छा काम है! लेकिन वास्तविक सर्वर पर। यह मुझे पंक्ति डालने के लिए एक त्रुटि (मैंने PHP अनुप्रयोग का उपयोग किया) दिया है। ** विषम क्वेरी के लिए कनेक्शन के लिए सेट करने के लिए ANSI_NULLS और ANSI_WARNINGS विकल्पों की आवश्यकता होती है। यह लगातार क्वेरी semantics सुनिश्चित करता है। इन विकल्पों को सक्षम करें और फिर अपनी क्वेरी को दोबारा जारी करें। ** – Dezigo