Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Du kan få information om definitionen eller egenskaperna för en användardefinierad funktion i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL. Du kan behöva se definitionen av funktionen för att förstå hur dess data härleds från källtabellerna eller för att se de data som definieras av funktionen.
Om du ändrar namnet på ett objekt som en funktion refererar till måste du ändra funktionen så att dess text återspeglar det nya namnet. Innan du byter namn på ett objekt ska du därför först visa beroendena för objektet för att avgöra om några funktioner påverkas av den föreslagna ändringen.
Behörigheter
För att använda sys.sql_expression_dependencies för att hitta alla beroenden på en funktion krävs behörigheten VIEW DEFINITION på databasen och behörigheten SELECT på sys.sql_expression_dependencies i databasen. Systemobjektdefinitioner, som de som returneras i OBJECT_DEFINITION, är offentligt synliga.
Använda SQL Server Management Studio
Visa egenskaper för en användardefinierad funktion
I Object Explorerväljer du plustecknet bredvid databasen som innehåller den funktion som du vill visa egenskaperna för och väljer sedan plustecknet för att expandera mappen Programmability.
Välj plustecknet för att expandera mappen Functions.
Välj plustecknet för att expandera mappen som innehåller den funktion som du vill visa egenskaperna för:
- Tabellvärdesfunktion
- Skalärvärd funktion
- Aggregeringsfunktion
Högerklicka på funktionen som du vill visa egenskaperna för och välj Egenskaper.
Följande egenskaper visas i dialogrutan Funktionsegenskaper –function_name.
Funktionsnamn Beskrivning Databas Namnet på databasen som innehåller den här funktionen. Server Namnet på den aktuella serverinstansen. Användare Namnet på användaren av den här anslutningen. Skapat datum Visar det datum då funktionen skapades. Utför som Körningskontext för funktionen. Namn Namnet på den aktuella funktionen. Schemat Visar det schema som äger funktionen. Systemobjekt Anger om funktionen är ett systemobjekt. Värdena är TrueochFalse.ANSI-NULL:er Anger om objektet skapades med alternativet ANSI NULLs. Krypterade Anger om funktionen är krypterad. Värdena är TrueochFalse.Funktionstyp Typen av användardefinierad funktion. Citerad identifierare Anger om objektet skapades med det angivna identifieraralternativet. Schemabunden Anger om funktionen är schemabunden. Värdena är Sant och Falskt. Information om schemabundna funktioner finns i avsnittet SCHEMABINDING i CREATE FUNCTION (Transact-SQL).
Använd Transact-SQL
Hämta definitionen och egenskaperna för en funktion
I Object Exploreransluter du till en instans av databasmotorn.
I standardfältet väljer du Ny fråga.
Kopiera och klistra in något av följande exempel i frågefönstret och välj Kör.
Följande kodexempel hämtar funktionsnamnet, definitionen och relevanta egenskaper.
USE AdventureWorks2022; GO -- Get the function name, definition, and relevant properties SELECT sm.object_id, OBJECT_NAME(sm.object_id) AS object_name, o.type, o.type_desc, sm.definition, sm.uses_ansi_nulls, sm.uses_quoted_identifier, sm.is_schema_bound, sm.execute_as_principal_id -- using the two system tables sys.sql_modules and sys.objects FROM sys.sql_modules AS sm JOIN sys.objects AS o ON sm.object_id = o.object_id -- from the function 'dbo.ufnGetProductDealerPrice' WHERE sm.object_id = OBJECT_ID('dbo.ufnGetProductDealerPrice') ORDER BY o.type; GOFöljande kodexempel hämtar definitionen av exempelfunktionen
dbo.ufnGetProductDealerPrice.USE AdventureWorks2022; GO -- Get the definition of the function dbo.ufnGetProductDealerPrice SELECT OBJECT_DEFINITION (OBJECT_ID('dbo.ufnGetProductDealerPrice')) AS ObjectDefinition; GO
Mer information finns i sys.sql_modules (Transact-SQL) och OBJECT_DEFINITION (Transact-SQL).
Hämta beroenden för en funktion
I Object Exploreransluter du till en instans av databasmotorn.
I standardfältet väljer du Ny fråga.
Kopiera och klistra in följande exempel i frågefönstret och välj Kör.
USE AdventureWorks2022; GO -- Get all of the dependency information SELECT OBJECT_NAME(sed.referencing_id) AS referencing_entity_name, o.type_desc AS referencing_description, COALESCE(COL_NAME(sed.referencing_id, sed.referencing_minor_id), '(n/a)') AS referencing_minor_id, sed.referencing_class_desc, sed.referenced_class_desc, sed.referenced_server_name, sed.referenced_database_name, sed.referenced_schema_name, sed.referenced_entity_name, COALESCE(COL_NAME(sed.referenced_id, sed.referenced_minor_id), '(n/a)') AS referenced_column_name, sed.is_caller_dependent, sed.is_ambiguous -- from the two system tables sys.sql_expression_dependencies and sys.object FROM sys.sql_expression_dependencies AS sed INNER JOIN sys.objects AS o ON sed.referencing_id = o.object_id -- on the function dbo.ufnGetProductDealerPrice WHERE sed.referencing_id = OBJECT_ID('dbo.ufnGetProductDealerPrice'); GO
Mer information finns i sys.sql_expression_dependencies (Transact-SQL) och sys.objects (Transact-SQL).