2009年10月21日

[SQLSERVER2000] ストアドファンクションの超基本

ストアドプロシージャとストアドファンクションは違います。こちらはいわゆる関数です(execute要らない)。だから戻り値を取得できます。
難しいことは抜きに作り方のお作法だけ体験してみます。後は応用です。SqlServer2005からCLRバイナリ内のプロシージャを登録すれば呼び出せるのですが、SqlServer2000は駄目でした(まぁできるのかもしれないが...)。

1を返すストアドファンクション(スカラ関数)を用意します

CREATE FUNCTION func1 
(
)
RETURNS int
AS
BEGIN
	RETURN 1
END

できたことを確認します

func.gif

関数を実行します

select dbo.func1() as HogeValue

でけました

その他のストアドファンクション

ストアドプロシージャのようにテーブルも返せます。
CREATE FUNCTION func2 
(
 @id int
)
RETURNS table
AS
	RETURN (select * from dbo.t where id=@id)


そして以下のようにして使えばよい。
select * from dbo.func2(2)
posted by エコ猫 at 13:32| Comment(0) | SQL | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。