2016-07-13 3 views
0

ich eine Tabelle sagen Spalten ID und REFERENCE_ID.ID ist Pkey und autoincrement auf that.After Einsatz gesetzt, unter Trigger verwendet wird, um die REFERENCE_ID zu aktualisieren, die im Grunde der anfügt eingegebene ID zusammen mit dem Datum.Nach Insert-Trigger funktioniert nicht in MS SQL 2014

GO 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
ALTER TRIGGER [dbo].[ReferenceIDTrigger] 
    ON [dbo].[TABLE1] AFTER INSERT 
AS 
BEGIN 

    update TABLE1 set REFERENCE_ID = CONVERT([varchar](2) , DATEPART(MONTH,GETDATE()))+ SUBSTRING(CONVERT([varchar](4) , DATEPART(YEAR,GETDATE())),3,4)+ CAST(ID AS VARCHAR(50)) WHERE ID=(SELECT MAX(ID) FROM TABLE1) 

END 

Dies funktioniert gut, wenn manuell eine Aufzeichnung über SQL designer.However einfügen, wenn Einsatz durch java sagt es pTaste nicht für die Tabelle Fehler gefunden wird.

PS: Die kürzlich 2010-2012 SQL migriert wird und es funktioniert im Jahr 2010 auch in Ordnung, wenn Einsatz durch java.What falsch sein könnte.

Vielen Dank im Voraus.

+0

Können Sie den relevanten Java-Code einschließen, den Sie verwenden, um das 'INSERT' zu erstellen? –

+0

Ich stimme @TimBiegeleisen, wenn es im Designer funktioniert, müssen wir sehen, was der eigentliche Aufruf über JAVA ist, um zu debuggen. Ich/wir schlagen ein Datenproblem vor. – SQLMason

+0

Ich weiß auch nicht, ob Sie hier eine 'max (id)' machen wollen, vielleicht möchten Sie sich mit 'ID' [Of Interest] (https: //social.msdn) an die' INSERTED' Tabelle anschließen. microsoft.com/Forums/sqlserver/en-US/d246ecea-8d80-47f4-a955-472eae9ac36b/trigger-get-values-from-updated?forum=transactsql) – SQLMason

Antwort

0

Ich glaube, Sie dies versuchen sollte,

ALTER TRIGGER [dbo]. [ReferenceIDTrigger]

ON [dbo]. [TABLE1]

FÜR INSERT

AS

declare @id

wählen @id = Id von Inserted int

BEGIN

Update t1 set REFERENCE_ID = CONVERT (VARCHAR, DATEPART (Monat, GETDATE())) + SUBSTRING (CONVERT (VARCHAR, DATEPART (YEAR, GETDATE())), 3,4) + CAST (i.ID AS VARCHAR (50))

where id [email protected] 

ENDE;

Verwandte Themen