関数の実行について
AccessからSQL Server2005へ作り変えています。
質問させていただきます。
テーブル名「伝票」の中身
製品 在庫数 注文数
A 12 10
B 11 13
C 16 11
このテーブルから在庫数と注文数を比較して、
注文数が在庫数以内の場合は・・・OK
注文数が在庫数以上の場合は・・・NG
イメージとしては以下のようにななります。
製品 在庫数 注文数 判定
A 12 10 OK
B 11 13 NG
C 16 11 OK
これをAccessのクエリで表現する場合は、判定にVBAを使っています。
(テーブルに判定という項目はありません)
SQL Server2005ではスカラ値関数を作って、それをストアドプロシージャで
呼び出せば可能ですよね・・・?
そこで以下の悪戦苦闘しながら以下のスカラ値関数を作りました。
ALTER FUNCTION dbo.HANTEI
(@ZAIKO int,
@TYUMON int,
@HANTEI nvarchar(2))
RETURNS nvarchar(2)
AS
BEGIN
IF @ZAIKO >= @TYUMON
SET @HANTEI = 'OK'
ELSE
SET @HANTEI = 'NG'
RETURN @HANTEI
END
これをストアドプロシージャで実行すると、パラメータで指定したHANTEI がテーブルにないので
エラーになります。テーブルに判定に相当する項目を用意すると正しく結果が出ます。
テーブルに判定項目を用意せずに正しい結果を出したいのですがどうすればよいですか?
よろしくお願いします。