Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Warehouse in Microsoft Fabric
SQL-database in Microsoft Fabric
Hiermee wijzigt u een bestaande Transact-SQL of CLR-functie die eerder is gemaakt door de CREATE FUNCTION
instructie uit te voeren, zonder machtigingen te wijzigen en zonder dat dit van invloed is op afhankelijke functies, opgeslagen procedures of triggers.
Aanbeveling
U kunt opgeven CREATE OR ALTER FUNCTION
dat u een nieuwe functie maakt als deze niet bestaat op basis van die naam of een bestaande functie wijzigt in één instructie.
Transact-SQL syntaxis-conventies
Syntaxis
-- Transact-SQL Scalar Function Syntax
ALTER FUNCTION [ schema_name. ] function_name
( [ { @parameter_name [ AS ][ type_schema_name. ] parameter_data_type
[ = default ] }
[ ,...n ]
]
)
RETURNS return_data_type
[ WITH <function_option> [ ,...n ] ]
[ AS ]
BEGIN
function_body
RETURN scalar_expression
END
[ ; ]
-- Transact-SQL Inline Table-Valued Function Syntax
ALTER FUNCTION [ schema_name. ] function_name
( [ { @parameter_name [ AS ] [ type_schema_name. ] parameter_data_type
[ = default ] }
[ ,...n ]
]
)
RETURNS TABLE
[ WITH <function_option> [ ,...n ] ]
[ AS ]
RETURN [ ( ] select_stmt [ ) ]
[ ; ]
-- Transact-SQL Multistatement Table-valued Function Syntax
ALTER FUNCTION [ schema_name. ] function_name
( [ { @parameter_name [ AS ] [ type_schema_name. ] parameter_data_type
[ = default ] }
[ ,...n ]
]
)
RETURNS @return_variable TABLE <table_type_definition>
[ WITH <function_option> [ ,...n ] ]
[ AS ]
BEGIN
function_body
RETURN
END
[ ; ]
-- Transact-SQL Function Clauses
<function_option>::=
{
[ ENCRYPTION ]
| [ SCHEMABINDING ]
| [ RETURNS NULL ON NULL INPUT | CALLED ON NULL INPUT ]
| [ EXECUTE_AS_Clause ]
}
<table_type_definition>:: =
( { <column_definition> <column_constraint>
| <computed_column_definition> }
[ <table_constraint> ] [ ,...n ]
)
<column_definition>::=
{
{ column_name data_type }
[ [ DEFAULT constant_expression ]
[ COLLATE collation_name ] | [ ROWGUIDCOL ]
]
| [ IDENTITY [ (seed , increment ) ] ]
[ <column_constraint> [ ...n ] ]
}
<column_constraint>::=
{
[ NULL | NOT NULL ]
{ PRIMARY KEY | UNIQUE }
[ CLUSTERED | NONCLUSTERED ]
[ WITH FILLFACTOR = fillfactor
| WITH ( < index_option > [ , ...n ] )
[ ON { filegroup | "default" } ]
| [ CHECK ( logical_expression ) ] [ ,...n ]
}
<computed_column_definition>::=
column_name AS computed_column_expression
<table_constraint>::=
{
{ PRIMARY KEY | UNIQUE }
[ CLUSTERED | NONCLUSTERED ]
( column_name [ ASC | DESC ] [ ,...n ] )
[ WITH FILLFACTOR = fillfactor
| WITH ( <index_option> [ , ...n ] )
| [ CHECK ( logical_expression ) ] [ ,...n ]
}
<index_option>::=
{
PAD_INDEX = { ON | OFF }
| FILLFACTOR = fillfactor
| IGNORE_DUP_KEY = { ON | OFF }
| STATISTICS_NORECOMPUTE = { ON | OFF }
| ALLOW_ROW_LOCKS = { ON | OFF }
| ALLOW_PAGE_LOCKS ={ ON | OFF }
}
-- CLR Scalar and Table-Valued Function Syntax
ALTER FUNCTION [ schema_name. ] function_name
( { @parameter_name [AS] [ type_schema_name. ] parameter_data_type
[ = default ] }
[ ,...n ]
)
RETURNS { return_data_type | TABLE <clr_table_type_definition> }
[ WITH <clr_function_option> [ ,...n ] ]
[ AS ] EXTERNAL NAME <method_specifier>
[ ; ]
-- CLR Function Clauses
<method_specifier>::=
assembly_name.class_name.method_name
<clr_function_option>::=
}
[ RETURNS NULL ON NULL INPUT | CALLED ON NULL INPUT ]
| [ EXECUTE_AS_Clause ]
}
<clr_table_type_definition>::=
( { column_name data_type } [ ,...n ] )
-- Syntax for In-Memory OLTP: Natively compiled, scalar user-defined function
ALTER FUNCTION [ schema_name. ] function_name
( [ { @parameter_name [ AS ][ type_schema_name. ] parameter_data_type
[ NULL | NOT NULL ] [ = default ] }
[ ,...n ]
]
)
RETURNS return_data_type
[ WITH <function_option> [ ,...n ] ]
[ AS ]
BEGIN ATOMIC WITH (set_option [ ,... n ])
function_body
RETURN scalar_expression
END
<function_option>::=
{ | NATIVE_COMPILATION
| SCHEMABINDING
| [ EXECUTE_AS_Clause ]
| [ RETURNS NULL ON NULL INPUT | CALLED ON NULL INPUT ]
}
Argumenten
schema_name
De naam van het schema waartoe de door de gebruiker gedefinieerde functie behoort.
function_name
De door de gebruiker gedefinieerde functie die moet worden gewijzigd.
Opmerking
Haakjes zijn vereist na de functienaam, zelfs als er geen parameter is opgegeven.
@ parameter_name
Een parameter in de door de gebruiker gedefinieerde functie. Een of meer parameters kunnen worden gedeclareerd.
Een functie kan maximaal 2.100 parameters hebben. De waarde van elke gedeclareerde parameter moet door de gebruiker worden opgegeven wanneer de functie wordt uitgevoerd, tenzij een standaard voor de parameter is gedefinieerd.
Geef een parameternaam op met behulp van een at-teken (@) als het eerste teken. De parameternaam moet voldoen aan de regels voor id's. Parameters zijn lokaal voor de functie; Dezelfde parameternamen kunnen in andere functies worden gebruikt. Parameters kunnen alleen plaats vinden van constanten; ze kunnen niet worden gebruikt in plaats van tabelnamen, kolomnamen of de namen van andere databaseobjecten.
Opmerking
ANSI_WARNINGS wordt niet gehonoreerd bij het doorgeven van parameters in een opgeslagen procedure, door de gebruiker gedefinieerde functie of bij het declareren en instellen van variabelen in een batch-instructie. Als een variabele bijvoorbeeld is gedefinieerd als char(3) en vervolgens is ingesteld op een waarde die groter is dan drie tekens, worden de gegevens afgekapt tot de gedefinieerde grootte en slaagt de instructie INSERT of UPDATE.
[ type_schema_name. ] parameter_data_type
Is het gegevenstype parameter en optioneel het schema waartoe het behoort. Voor Transact-SQL functies zijn alle gegevenstypen, inclusief door de gebruiker gedefinieerde CLR-typen, toegestaan, behalve het gegevenstype tijdstempel . Voor CLR-functies zijn alle gegevenstypen, waaronder door de gebruiker gedefinieerde CLR-typen, toegestaan, behalve tekst, ntekst, afbeelding en tijdstempelgegevenstypen . De cursor en tabel voor niet-schaaltypen kunnen niet worden opgegeven als parametergegevenstype in Transact-SQL- of CLR-functies.
Als type_schema_name niet is opgegeven, zoekt de SQL Server Database Engine in de volgende volgorde naar de parameter_data_type :
Het schema dat de namen van SQL Server-systeemgegevenstypen bevat.
Het standaardschema van de huidige gebruiker in de huidige database.
Het
dbo
schema in de huidige database.
[ = standaard ] **
Een standaardwaarde voor de parameter. Als er een standaardwaarde is gedefinieerd, kan de functie worden uitgevoerd zonder een waarde voor die parameter op te geven.
Opmerking
Standaardparameterwaarden kunnen worden opgegeven voor CLR-functies, met uitzondering van varchar(max) en varbinary(max) gegevenstypen.
Wanneer een parameter van de functie een standaardwaarde heeft, moet het sleutelwoord DEFAULT worden opgegeven bij het aanroepen van de functie om de standaardwaarde op te halen. Dit gedrag verschilt van het gebruik van parameters met standaardwaarden in opgeslagen procedures, waarbij het weglaten van de parameter ook de standaardwaarde impliceert.
return_data_type
De retourwaarde van een scalaire, door de gebruiker gedefinieerde functie. Voor Transact-SQL functies zijn alle gegevenstypen, inclusief door de gebruiker gedefinieerde CLR-typen, toegestaan, behalve het gegevenstype tijdstempel . Voor CLR-functies zijn alle gegevenstypen, waaronder door de gebruiker gedefinieerde CLR-typen, toegestaan, behalve tekst, ntekst, afbeelding en tijdstempelgegevenstypen . De cursor en tabel voor niet-schaaltypen kunnen niet worden opgegeven als een retourgegevenstype in Transact-SQL- of CLR-functies.
function_body
Hiermee geeft u op dat een reeks Transact-SQL instructies, die samen geen neveneffect produceren, zoals het wijzigen van een tabel, de waarde van de functie definiëren. function_body wordt alleen gebruikt in scalaire functies en multistatement tabelwaardefuncties.
In scalaire functies is function_body een reeks Transact-SQL instructies die samen tot een scalaire waarde leiden.
In multistatement tabelwaardefuncties is function_body een reeks Transact-SQL instructies waarmee een tabel retourvariabele wordt ingevuld.
scalar_expression
Hiermee geeft u op dat de scalaire functie een scalaire waarde retourneert.
TAFEL
Hiermee geeft u op dat de retourwaarde van de tabelwaardefunctie een tabel is. Alleen constanten en @local_variables kunnen worden doorgegeven aan tabelwaardefuncties.
In inline tabelwaardefuncties wordt de retourwaarde TABLE gedefinieerd via één SELECT-instructie. Inlinefuncties hebben geen gekoppelde retourvariabelen.
In functies @ met tabelwaarden met meerdere waarden is return_variable een TABELvariabele die wordt gebruikt voor het opslaan en verzamelen van de rijen die moeten worden geretourneerd als de waarde van de functie. @ return_variable kunnen alleen worden opgegeven voor Transact-SQL functies en niet voor CLR-functies.
select-stmt
De enkele SELECT-instructie waarmee de retourwaarde van een inline-tabelwaardefunctie wordt gedefinieerd.
EXTERNAL NAME <method_specifier>assembly_name.class_name.method_name
van toepassing op: SQL Server 2008 (10.0.x) en latere versies.
Hiermee geeft u de methode van een assembly die moet worden verbonden met de functie. assembly_name moet overeenkomen met een bestaande assembly in SQL Server in de huidige database met zichtbaarheid. class_name moet een geldige SQL Server-id zijn en moeten bestaan als een klasse in de assembly. Als de klasse een naamruimte-gekwalificeerde naam heeft die gebruikmaakt van een punt (.) om naamruimteonderdelen te scheiden, moet de klassenaam worden gescheiden door vierkante haken ([]) of aanhalingstekens (""). method_name moet een geldige SQL Server-id zijn en moeten bestaan als een statische methode in de opgegeven klasse.
Opmerking
SQL Server kan standaard geen CLR-code uitvoeren. U kunt databaseobjecten maken, wijzigen en verwijderen die verwijzen naar algemene runtimemodules voor taal; U kunt deze verwijzingen echter niet uitvoeren in SQL Server totdat u de optie Clr ingeschakeld inschakelt. Als u de optie wilt inschakelen, gebruikt u sp_configure.
Opmerking
Deze optie is niet beschikbaar in een ingesloten database.
< > table_type_definition( { <column_definition column_constraint>| <<>> computed_column_definition } [ <table_constraint> ] [ ,... n ] )
Definieert het tabelgegevenstype voor een Transact-SQL functie. De tabeldeclaratie bevat kolomdefinities en kolom- of tabelbeperkingen.
< > clr_table_type_definition ( { column_namedata_type} [ ,... n ] )
Van toepassing op: SQL Server 2008 (10.0.x) en hoger, SQL Database (preview in sommige regio's).
Definieert de tabelgegevenstypen voor een CLR-functie. De tabeldeclaratie bevat alleen kolomnamen en gegevenstypen.
NULL|NIET NULL
Alleen ondersteund voor native gecompileerde, scalaire, door de gebruiker gedefinieerde functies. Zie Scalaire User-Defined functies voor In-Memory OLTP voor meer informatie.
NATIVE_COMPILATION
Geeft aan of een door de gebruiker gedefinieerde functie native is gecompileerd. Dit argument is vereist voor native gecompileerde, scalaire, door de gebruiker gedefinieerde functies.
Het argument NATIVE_COMPILATION is vereist wanneer u de functie WIJZIGt en alleen kan worden gebruikt als de functie is gemaakt met het argument NATIVE_COMPILATION.
BEGIN ATOMAIR MET
Alleen ondersteund voor systeemeigen gecompileerde, scalaire door de gebruiker gedefinieerde functies en is vereist. Zie Atomaire blokken in native procedures voor meer informatie.
SCHEMABINDING
Het argument SCHEMABINDING is vereist voor systeemeigen gecompileerde, scalaire door de gebruiker gedefinieerde functies.
< >function_option::= en <clr_function_option>::=
Hiermee geeft u de functie heeft een of meer van de volgende opties.
CODERING
van toepassing op: SQL Server 2008 (10.0.x) en latere versies.
Geeft aan dat de database-engine de catalogusweergavekolommen versleutelt die de tekst van de ALTER FUNCTION
instructie bevatten. Als u ENCRYPTION gebruikt, voorkomt u dat de functie wordt gepubliceerd als onderdeel van SQL Server-replicatie. VERSLEUTELING kan niet worden opgegeven voor CLR-functies.
SCHEMABINDING
Hiermee geeft u aan dat de functie is gebonden aan de databaseobjecten waarnaar wordt verwezen. Wanneer SCHEMABINDING is opgegeven, kunnen de basisobjecten niet worden gewijzigd op een manier die van invloed is op de functiedefinitie. De functiedefinitie zelf moet eerst worden gewijzigd of verwijderd om afhankelijkheden van het te wijzigen object te verwijderen.
De binding van de functie aan de objecten waarnaar wordt verwezen, wordt alleen verwijderd wanneer een van de volgende acties plaatsvindt:
De functie komt te vervallen.
De functie wordt gewijzigd met behulp van de instructie ALTER met de optie SCHEMABINDING niet opgegeven.
Zie CREATE FUNCTION (Transact-SQL) voor een lijst met voorwaarden waaraan moet worden voldaan voordat een functie schemagebonden kan zijn.
GEEFT ALS RESULTAAT NULL BIJ NULL-INVOER | OPGEROEPEN OP NULL-INVOER
Hiermee geeft u het OnNULLCall
kenmerk van een scalaire-waardefunctie. Indien niet opgegeven, CALLED ON NULL INPUT
wordt dit standaard geïmpliceerd. Dit betekent dat de hoofdtekst van de functie wordt uitgevoerd, zelfs als NULL
deze wordt doorgegeven als argument.
Als RETURNS NULL ON NULL INPUT
is opgegeven in een CLR-functie, geeft dit aan dat SQL Server kan retourneren NULL
wanneer een van de argumenten die worden ontvangen NULL is, zonder dat de hoofdtekst van de functie daadwerkelijk wordt aangeroepen. Als de methode die is opgegeven in <method_specifier> al een aangepast kenmerk heeft dat aangeeft RETURNS NULL ON NULL INPUT
, maar de ALTER FUNCTION
instructie aangeeft CALLED ON NULL INPUT
, heeft de ALTER FUNCTION
instructie voorrang. Het OnNULLCall
kenmerk kan niet worden opgegeven voor CLR-tabelwaardefuncties.
EXECUTE AS-component
Hiermee geeft u de beveiligingscontext op waarin de door de gebruiker gedefinieerde functie wordt uitgevoerd. Daarom kunt u bepalen welk gebruikersaccount SQL Server gebruikt om machtigingen te valideren voor databaseobjecten waarnaar door de functie wordt verwezen.
Opmerking
EXECUTE AS kan niet worden opgegeven voor inline door de gebruiker gedefinieerde functies.
Zie voor meer informatie EXECUTE AS-clausule (Transact-SQL).
< >column_definition ::=
Definieert het gegevenstype van de tabel. De tabeldeclaratie bevat kolomdefinities en beperkingen. Voor CLR-functies kunnen alleen column_name en data_type worden opgegeven.
column_name
De naam van een kolom in de tabel. Kolomnamen moeten voldoen aan de regels voor ID's en moeten uniek zijn in de tabel. column_name kan bestaan uit 1 tot en met 128 tekens.
data_type
Hiermee geeft u het gegevenstype van de kolom op. Voor Transact-SQL functies zijn alle gegevenstypen, inclusief door de gebruiker gedefinieerde CLR-typen, toegestaan, met uitzondering van tijdstempels. Voor CLR-functies zijn alle gegevenstypen, waaronder door de gebruiker gedefinieerde CLR-typen, toegestaan, behalve tekst, ntext, afbeelding, teken, varchar, varchar(max)en tijdstempel. De cursor van het niet-schaaltype kan niet worden opgegeven als een kolomgegevenstype in Transact-SQL- of CLR-functies.
STANDAARD constant_expression
Hiermee geeft u de opgegeven waarde voor de kolom op wanneer een waarde niet expliciet wordt opgegeven tijdens een invoeging.
constant_expression is een constante, NULL
of een systeemfunctiewaarde. STANDAARDdefinities kunnen worden toegepast op elke kolom, met uitzondering van de kolommen met de eigenschap IDENTITY. STANDAARD kan niet worden opgegeven voor CLR-tabelwaardefuncties.
COLLATION_NAME
Hiermee geeft u de sortering voor de kolom. Als dit niet is opgegeven, wordt aan de kolom de standaardsortering van de database toegewezen. De sorteringsnaam kan een Windows-sorteringsnaam of een SQL-sorteringsnaam zijn. Zie voor een lijst met en meer informatie windows-sorteringsnaam en SQL Server-sorteringsnaam.
De COLLATE-component kan worden gebruikt om de sorteringen alleen te wijzigen van kolommen van de gegevenstypen char, varchar, nchar en nvarchar .
COLLATE kan niet worden opgegeven voor CLR-tabelwaardefuncties.
ROWGUIDCOL
Geeft aan dat de nieuwe kolom een globale unieke id-kolom voor rijen is. Slechts één uniekeidentifierkolom per tabel kan worden aangewezen als de kolom ROWGUIDCOL . De eigenschap ROWGUIDCOL kan alleen worden toegewezen aan een uniqueidentifier-kolom .
De eigenschap ROWGUIDCOL dwingt geen uniekheid af van de waarden die zijn opgeslagen in de kolom. Er worden ook niet automatisch waarden gegenereerd voor nieuwe rijen die in de tabel zijn ingevoegd. Als u unieke waarden voor elke kolom wilt genereren, gebruikt u de NEWID
functie op INSERT
instructies. Er kan een standaardwaarde worden opgegeven; NEWID
Kan echter niet worden opgegeven als de standaardwaarde.
IDENTITEIT
Geeft aan dat de nieuwe kolom een identiteitskolom is. Wanneer een nieuwe rij aan de tabel wordt toegevoegd, biedt SQL Server een unieke, incrementele waarde voor de kolom. Identiteitskolommen worden doorgaans samen met primaire sleutelbeperkingen gebruikt om te fungeren als de unieke rij-id voor de tabel. De eigenschap IDENTITY kan worden toegewezen aan kolommen tinyint, smallint, int, bigint, decimal(p,0) of numerieke kolommen(p,0 ). Er kan slechts één identiteitskolom per tabel worden gemaakt. Afhankelijke standaardwaarden en STANDAARDbeperkingen kunnen niet worden gebruikt met een identiteitskolom. U moet zowel de seed als de toename opgeven of geen van beide. Als geen van beide is opgegeven, is de standaardwaarde (1,1).
IDENTITY kan niet worden opgegeven voor CLR-tabelwaardefuncties.
zaad
Het gehele getal dat moet worden toegewezen aan de eerste rij in de tabel.
incrementele
Het gehele getal dat moet worden toegevoegd aan de seed-waarde voor opeenvolgende rijen in de tabel.
< >column_constraint ::= en < table_constraint>::=
Definieert de beperking voor een opgegeven kolom of tabel. Voor CLR-functies is het enige toegestane beperkingstype NULL. Benoemde beperkingen zijn niet toegestaan.
NULL | NIET NULL
Hiermee bepaalt u of null-waarden zijn toegestaan in de kolom.
NULL
is niet strikt een beperking, maar kan worden opgegeven net als NOT NULL
.
NOT NULL
kan niet worden opgegeven voor CLR-tabelwaardefuncties.
PRIMAIRE SLEUTEL
Een beperking die entiteitsintegriteit afdwingt voor een opgegeven kolom via een unieke index. In door de gebruiker gedefinieerde tabelfuncties kan de beperking PRIMAIRE SLEUTEL slechts op één kolom per tabel worden gemaakt. PRIMAIRE SLEUTEL kan niet worden opgegeven voor CLR-tabelwaardefuncties.
UNIEK
Een beperking die entiteitsintegriteit biedt voor een opgegeven kolom of kolommen via een unieke index. Een tabel kan meerdere UNIEKE beperkingen hebben. UNIEK kan niet worden opgegeven voor CLR-tabelwaardefuncties.
GECLUSTERD | NIET-GECLUSTERD
Geef aan dat een geclusterde of niet-geclusterde index wordt gemaakt voor de beperking PRIMARY KEY of UNIQUE. PRIMAIRE SLEUTELbeperkingen maken gebruik van CLUSTERED en UNIEKE beperkingen maken gebruik van NIET-GECLUSTERD.
CLUSTERED kan slechts voor één beperking worden opgegeven. Als CLUSTERED is opgegeven voor een UNIEKE beperking en er ook een BEPERKING PRIMAIRE SLEUTEL is opgegeven, gebruikt de PRIMAIRE SLEUTEL NIET GECLUSTERD.
CLUSTERED en NONCLUSTERED kunnen niet worden opgegeven voor CLR-functies met tabelwaarden.
CONTROLE
Een beperking waarmee domeinintegriteit wordt afgedwongen door de mogelijke waarden te beperken die kunnen worden ingevoerd in een kolom of kolommen. CHECK-beperkingen kunnen niet worden opgegeven voor CLR-tabelwaardefuncties.
logical_expression
Een logische expressie die WAAR of ONWAAR retourneert.
< >computed_column_definition::=
Hiermee geeft u een berekende kolom op. Zie TABEL MAKEN (Transact-SQL) voor meer informatie over berekende kolommen.
column_name
De naam van de berekende kolom.
computed_column_expression
Een expressie die de waarde van een berekende kolom definieert.
< >index_option::=
Hiermee geeft u de indexopties voor de PRIMAIRE SLEUTEL of UNIEKE index. Zie INDEX MAKEN (Transact-SQL) voor meer informatie over indexopties.
PAD_INDEX = { ON | UIT }
Hiermee geeft u indexopvulling. De standaardwaarde is UITGESCHAKELD.
FILLFACTOR = fillfactor
Hiermee geeft u een percentage op dat aangeeft hoe vol de database-engine het bladniveau van elke indexpagina moet maken tijdens het maken of wijzigen van de index. fillfactor moet een geheel getal tussen 1 en 100 zijn. De standaardwaarde is 0.
IGNORE_DUP_KEY = { ON | UIT }
Hiermee geeft u het foutbericht op wanneer een invoegbewerking probeert dubbele sleutelwaarden in een unieke index in te voegen. De optie IGNORE_DUP_KEY is alleen van toepassing op het invoegen van bewerkingen nadat de index is gemaakt of opnieuw is opgebouwd. De standaardwaarde is UITGESCHAKELD.
STATISTICS_NORECOMPUTE = { AAN | UIT }
Hiermee geeft u op of verdelingsstatistieken opnieuw worden berekend. De standaardwaarde is UITGESCHAKELD.
ALLOW_ROW_LOCKS = { AAN | UIT }
Hiermee geeft u op of rijvergrendelingen zijn toegestaan. De standaardwaarde is AAN.
ALLOW_PAGE_LOCKS = { AAN | UIT }
Hiermee geeft u op of paginavergrendelingen zijn toegestaan. De standaardwaarde is AAN.
Opmerkingen
ALTER FUNCTION kan niet worden gebruikt om een scalaire-waardefunctie te wijzigen in een tabelwaardefunctie of omgekeerd. ALTER FUNCTION kan ook niet worden gebruikt om een inlinefunctie te wijzigen in een functie met meerdere statussen of omgekeerd. ALTER FUNCTION kan niet worden gebruikt om een Transact-SQL functie te wijzigen in een CLR-functie of omgekeerd.
De volgende Service Broker-instructies kunnen niet worden opgenomen in de definitie van een door de gebruiker gedefinieerde Transact-SQL functie:
BEGIN DIALOG CONVERSATION
END CONVERSATION
GET CONVERSATION GROUP
MOVE CONVERSATION
RECEIVE
SEND
Machtigingen
Vereist ALTER-machtigingen voor de functie of het schema. Als de functie een door de gebruiker gedefinieerd type opgeeft, moet u de EXECUTE-machtiging voor het type hebben.
In Microsoft Fabric kunnen leden van de rollen Fabric-werkruimtebeheerder, Lid en Inzender functies maken.