我创建了一个 SQL Server 函数。现在我在 SSMS 中找不到它

Posted

技术标签:

【中文标题】我创建了一个 SQL Server 函数。现在我在 SSMS 中找不到它【英文标题】:I created a SQL Server function. Now I can't find it in SSMS 【发布时间】:2014-11-19 17:34:19 【问题描述】:

我编写了一个 CREATE FUNCTION 脚本,并创建了一个函数。但是我在 SSMS 的 programability 文件夹下的 LONG 函数列表中找不到它。 SQL Server 把我的函数放在哪里了。它不在任何文件夹中,或者如果是,我错过了它。我看了两遍。

我确实在脚本开头指定了:

USE myDatabase
GO

开始之前

CREATE FUNCTION...

...在脚本中,所以它不应该在主数据库中丢失。

【问题讨论】:

在数据库的“可编程性”文件夹中搜索函数时,您是否单击了“刷新”? select * from sys.all_objects where [name] = 'myFunction'; 【参考方案1】:

在 \Programmability\Functions 下查看。要使用这些对象,请参阅这篇文章SQLServer cannot find my user defined function function in stored procedure

【讨论】:

阿萨吉。你只有一个声望点。让我来帮你吧!感谢您的帮助!【参考方案2】:

我道歉。提问者是个白痴。

我需要做的就是右键单击 SSMS 中的 Function 文件夹并选择“刷新”。

很抱歉浪费了您的时间。

【讨论】:

【参考方案3】:

检查您的 FUNC 是否存在于该列表中

 USE[MASTER]
    select Name, Definition, type_desc FROM sys.sql_modules sm 
    INNER JOIN sys.objects so ON sm.object_id=so.object_id
    where type_desc like '%func%'

【讨论】:

【参考方案4】:

在 SSMS 中,尝试使用“对象资源管理器详细信息”窗口(在“查看”菜单下)列出您的标量值(或任何类型)函数,您可以在其中按“创建”按降序排序。

【讨论】:

【参考方案5】:

我知道这个问题已经得到解答,只需要刷新一下,但我最近遇到了相同的症状,原因是我以无权查看该功能的用户身份登录。让数据库所有者授予正确的权限(执行权限),您应该可以看到它。

【讨论】:

以上是关于我创建了一个 SQL Server 函数。现在我在 SSMS 中找不到它的主要内容,如果未能解决你的问题,请参考以下文章

更改 SQL Server 2008 中在表的计算列中引用的标量函数

如何使用 C# 创建 SQL Server 2012 数据库?

如何在 SQL Server 中创建一个接受一列数据的函数?

从 DataSet 创建 SQL Server DB

MS SQL Server COLUMNS_UPDATED() 函数

SQL Server 触发 CAST 函数