私は、テーブルの列がIDでREFERENCE_ID.IDがPキーで、autoincrementがその上に設定されているとします。挿入後、REFERENCE_IDを更新するために日付と共に挿入されたID。挿入トリガーが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
これは、Javaを通じて挿入したときに、手動でSQL designer.Howeverてレコードを挿入するとき、それはPKEYは、テーブル・エラーが見つかりされていないと言い正常に動作します。
PS:これは最近、2010年から2012年のsqlに移行されています。これは、java.awの挿入が間違っている場合でも2010年に正常に動作します。
ありがとうございます。私はあなたがこれを試すべきだと思い
「INSERT」を作成するために使用する関連Javaコードを含めることはできますか? –
私は@ TimBiegeleisenに同意します。デザイナーで動作する場合、デバッグに役立つJAVA経由の実際の呼び出しを確認する必要があります。私/私たちはデータの心配を提案します。 – SQLMason
また、ここで 'max(id)'を実行するかどうかわかりませんが、 'ID' [Of Interest](https://social.msdn)で' INSERTED'テーブルに参加したいかもしれません。 microsoft.com/Forums/sqlserver/en-US/d246ecea-8d80-47f4-a955-472eae9ac36b/trigger-get-values-from-updated?forum=transactsql) – SQLMason