私はid
とusername
の2つの値を持つテーブルに挿入するストアドプロシージャを持っています。挿入時にAutoIncremeting IDを返します
CREATE PROCEDURE [dbo].[sp_test]
@username varchar(50)
AS
BEGIN
INSERT INTO dbo.testtable(username)
SELECT
@username
FROM
tbl.test2
WHERE
username IS NOT NULL
は、どのように私は、それが明示的に記述されていなくてもそこにid
を返すことができますようid
フィールドはautoincremetingされるので、私のストアドプロシージャが見えますか?私はSCOPE_IDENTITY();
キーワードを試みましたが、空白とヌルを受け取りました。
あなたのinsert文は非常に奇妙に見えます。なぜあなたは入力変数を選択しているだけでなく、テーブルtest2も含んでいますか?パラメータだけを挿入したい場合は、FROMを挿入する必要はありません。また、sp_接頭辞を使用しない(または全く接頭辞を付けない方が良い)ことも考慮する必要があります。 sp_接頭辞はパフォーマンスやその他のさまざまな問題を引き起こす可能性があります。 http://sqlperformance.com/2012/10/t-sql-queries/sp_prefix –