テーブル値関数の作成に取り組んでいますが、作成する前に、それが存在するかどうかを確認し、存在しない場合は動的スクリプトを使用して関数を作成し、通常どおり変更します。
IF NOT EXISTS
(SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[region]')
AND OBJECTPROPERTY(id,N'IsTableFunction') = 1)
BEGIN
EXEC dbo.sp_executesql
@statement = N' CREATE FUNCTION [dbo].[region]()
RETURNS TABLE AS BEGIN RETURN ''A'' END'
GO
ALTER FUNCTION dbo.region(@dd datetime)
--
GO
しかし、上記のスクリプトでエラーが発生しましたIncorrect syntax near the keyword 'RETURN'.