2012-09-25 25 views
11

テーブルに行を挿入する単純な関数を作成しています。 挿入後、何も返さない関数は必要ありません。 MSDNで関数の作成構文を確認したところ、 のように、関数が値を返す必要があります。私も関数を作成しようとしましたが、構文エラーがありました。何も返されない関数をSqlServerに作成する

値を返さない関数を作成する方法があるのだろうかと思います。

このような機能を作成する方法があれば教えてください。 事前に感謝:)

答えて

13

あなたの要件を達成するためにストアドプロシージャを使用します。関数は値を返すためのものです。

+0

ありがとうございますが、私はこの新しいストアドプロシージャを他のストアドプロシージャ内で呼び出すことはできますか? – Narendra

+0

あなたはこれを – AnandPhadke

+0

と呼ぶことができます。私は関数の代わりにprocを作成します。 – Narendra

9

他の回答に加えてExamples here

+0

ありがとうございますが、この新しいストアドプロシージャを他のストアドプロシージャ内で呼び出すことはできますか? – Narendra

+0

はい、 –

+0

に電話することができます。私は関数の代わりにprocを作成します。 – Narendra

2

を参照してください、私は明らかに1を追加しますストアドプロシージャの代わりに、機能

Create proc my_proc() 
as 
BEGIN 
<your insert statement > 

END 

を作成します。

私は簡単な関数を作成しています行はテーブルに挿入されます。

関数はテーブルに行を挿入できません(SQL Serverの関数は、他の言語の関数とは異なる副作用がないと定義されています)。値を返すことに気をつけて、それはとにかくできません。代わりにストアドプロシージャを使用する必要があります。

1

SQL Serverによると、戻り値のない関数はありません。値を返す必要があります。あなたの場合は、私はストアドプロシージャに行くことをお勧めします。

関連する問題