###前提・実現したいこと
サブルーチン用としてユーザー定義関数を使用し
テーブルの金額データを計算し原価としてビューに反映させたい。
###発生している問題・エラーメッセージ
ユーザー定義関数が動作していない?
###該当のソースコード
<SQL SERVER 2012 スカラー関数>
USE [売上]
GO
/****** Object: UserDefinedFunction [dbo].[原価計算] Script Date: 2016/11/18 16:24:37 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[原価計算]( @金額 int, @製品区分大分類 varchar)
RETURNS int
AS
BEGIN
IF @製品区分大分類 = 'AI'
BEGIN
return @金額 * 1.25
END
IF @製品区分大分類 = 'CU'
BEGIN
return @金額 * 1.15
END
ELSE
BEGIN
RETURN 0
END
RETURN 0
END
<SQL SERVER 2012 ビュー>
SELECT 製品区分大分類,
金額,
dbo.原価計算(金額, 製品区分大分類) AS 原価
FROM dbo.売上DB
###試したこと
上記で設定したスカラー関数での実行はエラーは無く
メッセージでも「コマンドは正常に完了しました。」と表示される。
その後ビューにてSQL文を組み込んでみて実行しても
条件が揃っているにも関わらず正しい計算値にならず全て「0」になってしまう。
どこかSQL文がおかしいのか、はたまたSQL SERVER の設定の問題なのか
分からなく先へ進めない状況です。
何卒ご教授頂きたく、よろしくお願い致します。
###補足情報(言語/FW/ツール等のバージョンなど)
SQL SERVER 2012 使用環境
Windows server 2008 R2 Datacente 64bit
回答1件
あなたの回答
tips
プレビュー