私たちはNon-Identity
Column
を特定の値を持っています。SQLサーバの非同一列を自動的にインクリメント
この列にレコードinsert
がある場合は常に、値を1つ増やす必要があります。
sql server
でこれを処理する方法は?助けのための
感謝。
私たちはNon-Identity
Column
を特定の値を持っています。SQLサーバの非同一列を自動的にインクリメント
この列にレコードinsert
がある場合は常に、値を1つ増やす必要があります。
sql server
でこれを処理する方法は?助けのための
感謝。
さて、あなたは、SQL Server 2012で導入されたSEQUENCE
ステートメントを使用することができますが、INSERT文でそれを使用するにはIDが
を生成する方法をもたらし、あなたが最初にこのようにシーケンスを作成する必要があります -
CREATE SEQUENCE dbo.Id_Sequence
AS INT
START WITH 1
INCREMENT BY 1
MINVALUE 0
NO MAXVALUE
今、このようなあなたのINSERT文でそれを使用する -
INSERT INTO dbo.Test1
(orderid ,
custid ,
empid
)
SELECT NEXT VALUE FOR dbo.Id_Sequence,
@custid ,
@empid
それだけです。
は、あなたがテーブルの最大値をロードし、多分最初の実行のためにISNULLを追加+1
SELECT MAX(MyColumn)+1 FROM MyTable
を追加することができTRIGGER
CREATE TRIGGER incrementValue
ON Test
FOR Insert
AS
Update Test
set columnvalue = columnvalue +1
where id in (select id from inserted)
GO
を作成してみてください。
ISNULL((SELECT MAX(MyColumn)+1 FROM MyTable),0)
ありがとうございます。私はここで集約を使用することはできません – bmsqldev
SQLサーバのバージョンは何? –
SQL Serverの2012 – bmsqldev
トリガ私は考えます。 – KrazzyNefarious