ユーザー定義関数 その1
— =============================================
— インラインテーブル値関数
— RETURN句のカッコ内にはSELECT文を1つだけ書ける
— 注意:SELECT * を使うと,その後テーブルに追加された列の情報は返らない.
— (ALTERで関数を定義し直せば大丈夫だが,*は使わない方がいいだろう.)
— =============================================
CREATE FUNCTION fn_Test1
(
@a1 int
)
RETURNS TABLE
AS
RETURN
(
SELECT b1, b2
FROM Table1
WHERE ID = @a1
)
GO
使い方
SELECT * FROM fn_Test1(1) –カッコの中にパラメーター値を入れる
次のようにUPDATE文を使うと,元のTable1の内容が書き換わる.
間違ってそのままテーブル変数や一時テーブルのように使うと痛い目を見る.
UPDATE fn_Test1(1) SET b1 = 1
参考:
ユーザー定義関数 (MSDN)

