我在创建一个函数之前先判断在数据库中是否存在此函数,如果存在则将其删除,然后再执行下面的Create...
但是一执行就报错,报错内容如下:
消息 111,级别 15,状态 1,第 12 行
'CREATE FUNCTION' 必须是查询批次中的第一个语句。
解决方法如下:
- IF EXISTS(SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[ufn_TEST]') AND xtype = 'TF')
- DROP FUNCTION dbo.ufn_CaculateM2IEKE
- GO
- CREATE FUNCTION [dbo].[ufn_TEST](...
注意一定要在CREATE之前加上GO,否则就会报如题的错误!
本文介绍了一种在SQL中创建函数前判断该函数是否已存在的方法,通过使用IF EXISTS语句结合sysobjects表来检查函数是否存在,若存在则先删除再创建。文章强调了在CREATE FUNCTION语句前使用GO的重要性,避免出现错误。
768

被折叠的 条评论
为什么被折叠?



