SQL 2008で次の関数を作成しました
CREATE FUNCTION dbo.udfSetSupplyStatus(@strOrderID nvarchar(16), @intLineNo int, @intOrderQty int, @strPartID nvarchar(16), @strWarehouseID nvarchar(16), @dtAsOfDate datetime, @strCalcMode nvarchar(16))
RETURNS nvarchar(32)
AS
BEGIN
DECLARE @strReturnValue nvarchar(32), @intQtyOnHand int, @intQtyOnOrder int, @intQtyPlanned int, @dtWantDate datetime
IF (@strCalcMode = 'S')
BEGIN
SELECT
@intQtyOnHand = (pw.available_qty + pw.committed_co + pw.committed_req + pw.committed_ibt + pw.locked_qty),
@intQtyOnOrder = (pw.expected_po + pw.expected_wo)
FROM VE_PART_WAREHOUSE as pw
INNER JOIN VE_PART as p on pw.part_id = p.id
WHERE pw.part_id = @strPartID
and pw.warehouse_id = @strWarehouseID
END
BEGIN
select
@dtWantDate = WANT_DATE,
@intQtyPlanned = ORDER_QTY
from VE_PLANNED_ORDER
where PART_ID = @strPartID
AND WAREHOUSE_ID = @strWarehouseID
END
IF(@intQtyOnHand >= @intOrderQty)
SET @strReturnValue = 'InStock'
ELSE IF(@intQtyOnHand + @intQtyPlanned) >= @intOrderQty
SET @strReturnValue = 'Expected'
ELSE
SET @strReturnValue = 'NoSupply'
RETURN @strReturnValue
END
使用しているデータベースのプログラマビリティの下にあるスカラー値関数で関数を確認できますが、関数を呼び出そうとすると、Intellisense で関数が検出されません。