Sql server 2008 r2 有没有办法在SQLServer2008中创建特定于查询的函数?

Sql server 2008 r2 有没有办法在SQLServer2008中创建特定于查询的函数?,sql-server-2008-r2,Sql Server 2008 R2,在努力坚持的过程中,我有一些代码,我觉得可以很容易地生活在一个函数中。我可能需要在将来的某个时候重用此代码,但我可能不需要。理想情况下,我会有一个只存在于这段代码中的函数,因为它对整个数据库没有任何好处,并且在试图找到有意义的、全局有用的函数时,存在于任何现有方案中都会产生噪音 我曾尝试编写一个脚本,使用典型语法在其他代码之前创建一个函数,并在代码末尾删除该函数。由于未来可能发生碰撞,这一点并不理想,但风险可以接受。不幸的是,我得到了一个错误: 'CREATE FUNCTION' must be

在努力坚持的过程中,我有一些代码,我觉得可以很容易地生活在一个函数中。我可能需要在将来的某个时候重用此代码,但我可能不需要。理想情况下,我会有一个只存在于这段代码中的函数,因为它对整个数据库没有任何好处,并且在试图找到有意义的、全局有用的函数时,存在于任何现有方案中都会产生噪音

我曾尝试编写一个脚本,使用典型语法在其他代码之前创建一个函数,并在代码末尾删除该函数。由于未来可能发生碰撞,这一点并不理想,但风险可以接受。不幸的是,我得到了一个错误:

'CREATE FUNCTION' must be the first statement in a query batch. 
不幸的是,在语句前后添加分号并不是一个快速解决方案。如果不将函数构建到数据库框架中,是否就无法快速使用函数


还是我问错了问题。在一个脚本中是否有办法强制执行单独的批处理?

如果您确实在运行“批处理”(例如,在查询分析器或ossql中运行一组T-SQL命令),则只需使用“go”。如果“create function”是“go”之后的第一行,那么它也应该工作,这取决于您的T-SQL解释器。OSSQL:应该可以工作。VB6程序中的ADO连接:肯定不起作用。

我以不同的方式到达了相同的位置。谢谢你的解释。