2
Iveは何度も何度も参考にしましたが、何も助けになりませんでした。私は最後のID、つまりSCOPE_IDENTITY()をBそれはあなたがあなたのデータベーステーブルのID列を持っている場合は、あなたのテーブルに新しい行を追加するときに、ID値が自動的に生成されSQL Serverのテーブルに挿入する値としてIdentity_Scopeを使用するには
CREATE PROCEDURE dbo.Createletter
@A INT,
@B NVARCHAR(50),
@C NVARCHAR(50),
AS
BEGIN;
SET NOCOUNT ON;
BEGIN;
INSERT INTO dbo.Employees (A, B, C)
VALUES (@A, SCOPE_IDENTITY(),@C);
END;
END;
GO
どう思いますか?あなたはテーブルの中で最も高いIDを意味しますか?いずれにしても、SCOPE_IDENTITY()(identity_scope()はここにあるとおりではありません)は、ステートメントの最新の挿入から最後のIDを返します。この前に挿入がないため、スコープにIDはありません。 FacultyEmployeeIDの挿入を実行する別のプロシージャはありますか? * this * insertステートメントでその値を返す必要があるように思えます。それが別のスコープであれば、SCOPE_IDENTITY()を別のスコープとして使用することはできません...私は少し明確にする必要があると思います。 –
iveは、自分のプロシージャのinsert文でScope_Identity()を試しましたが、まだNULLになっています。また、挿入の前に手順が表示されていない – Derek
それはあなたの正確な問題です。以前のコメントで述べたように、SCOPE_IDENTITY()はスコープ内の最新のID値を返します。このスコープに他の挿入がないため、返すIdentity値はありません。したがって、「NULL」です。 –