Eliminar funciones definidas por el usuario
Puede eliminar (quitar) las funciones definidas por el usuario en SQL Server 2012 mediante SQL Server Management Studio o Transact-SQL.
En este tema
Antes de empezar:
Limitaciones y restricciones
Seguridad
Para eliminar una función definida por el usuario, usando:
SQL Server Management Studio
Transact-SQL
Antes de empezar
Limitaciones y restricciones
No podrá eliminar la función si hay vistas o funciones de Transact-SQL en la base de datos que hagan referencia a esta función y que fueron creadas con SCHEMABINDING; tampoco funcionará si existen columnas calculadas o restricciones CHECK o DEFAULT que hacen referencia a la función.
No podrá eliminar la función si existen columnas calculadas que hagan referencia a esta función y que hayan sido indizadas.
Seguridad
Permisos
Requiere el permiso ALTER en el esquema al que pertenece la función o el permiso CONTROL en la función.
[Top]
Usar SQL Server Management Studio
Para eliminar un perfil definido por la función
Haga clic en el signo más junto a la base de datos que contenga la función que desea modificar.
Haga clic en el signo más junto a la carpeta Programación.
Haga clic en el signo más junto a la carpeta que contenga la función que desea modificar:
Función con valores de tabla
Función con valor escalar
Función de agregado
Haga clic con el botón secundario en la función que desea eliminar y seleccione Eliminar.
En el cuadro de diálogo Eliminar objeto, haga clic en Aceptar.
Importante Haga clic en Mostrar dependencias en el cuadro de diálogo Eliminar objeto para abrir el cuadro de diálogo Dependencias de function_name. De este modo, mostrará todos los objetos que dependen de la función y todos los objetos de los que la función depende.
[Top]
Usar Transact-SQL
Para eliminar un perfil definido por la función
En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.
En la barra de Estándar, haga clic en Nueva consulta.
Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar.
-- creates function called “Sales.ufn_SalesByStore” USE AdventureWorks2012; GO CREATE FUNCTION Sales.ufn_SalesByStore (@storeid int) RETURNS TABLE AS RETURN ( SELECT P.ProductID, P.Name, SUM(SD.LineTotal) AS 'Total' FROM Production.Product AS P JOIN Sales.SalesOrderDetail AS SD ON SD.ProductID = P.ProductID JOIN Sales.SalesOrderHeader AS SH ON SH.SalesOrderID = SD.SalesOrderID JOIN Sales.Customer AS C ON SH.CustomerID = C.CustomerID WHERE C.StoreID = @storeid GROUP BY P.ProductID, P.Name ); GO USE AdventureWorks2012; GO -- determines if function exists in database IF OBJECT_ID (N'Sales.fn_SalesByStore', N'IF') IS NOT NULL -- deletes function DROP FUNCTION Sales.fn_SalesByStore; GO
Para obtener más información, vea DROP FUNCTION (Transact-SQL).
[Top]