ハハ、これを試してみてください:
IF OBJECT_ID('_HappyFunction' ) IS NOT NULL DROP FUNCTION _HappyFunction IF OBJECT_ID('_SadFunction' ) IS NOT NULL DROP FUNCTION _SadFunction IF TYPE_ID ('_UniqueIntTable') IS NOT NULL DROP TYPE _UniqueIntTable GO CREATE TYPE _UniqueIntTable AS TABLE (Value int NOT NULL PRIMARY KEY) GO CREATE FUNCTION _HappyFunction (@IDs _UniqueIntTable READONLY) RETURNS TABLE AS RETURN SELECT Value FROM @IDs GO CREATE FUNCTION _SadFunction (@IDs _UniqueIntTable READONLY) RETURNS TABLE AS RETURN WITH CTE AS (SELECT Value FROM @IDs) SELECT Value FROM CTE GO -- this will return an empty record set DECLARE @IDs _UniqueIntTable SELECT * FROM _HappyFunction(@IDs) GO -- this will hang DECLARE @IDs _UniqueIntTable SELECT * FROM _SadFunction(@IDs) GO
プレ>誰が予想したでしょうか?