Funkci s hodnotou tabulky (TVF) na serveru SQL můžete změnit pomocí ALTER FUNCTION
Syntaxe T-SQL.
Jednoduše postupujte podle ALTER FUNCTION
s novou definicí. V podstatě je to jako používat CREATE FUNCTION
kromě toho, že nahradíte CREATE
pomocí ALTER
.
Příklad
Zde je příklad k demonstraci:
ALTER FUNCTION dbo.udf_CatsByName_ITVF( @CatName varchar(70) ) VRÁTÍ TABULKU S SCHEMABINDINGASRETURN ( SELECT CatId, CatName, Phone FROM dbo.Cats WHERE CatName =@CatName );GO
Pokud by tato funkce ještě neexistovala a vytvářel jsem ji poprvé, použil bych následující kód:
VYTVOŘIT FUNKCI dbo.udf_CatsByName_ITVF( @CatName varchar(70) ) VRÁTÍ TABULKU S SCHEMABINDINGASRETURN ( SELECT CatId, CatName, Phone FROM dbo.Cats WHERE CatName =@CatName );Je to úplně stejné, až na to, že to začíná
CREATE
místoALTER
.Uvolněte a znovu vytvořte
Dalším způsobem, jak to udělat, je zrušit funkci a vytvořit ji znovu:
DROP FUNCTION IF EXISTS udf_CatsByName_ITVF;GOCREATE FUNCTION dbo.udf_CatsByName_ITVF( @CatName varchar(70) ) VRÁTÍ TABULKU SE SCHEMABINDINGASRETURN ( SELECT, Phone FROM, Catpre BoatNa> CatId.V tomto případě jsem použil syntaxi DIE (Drop If Exists), což znamená, že se mi nezobrazí chyba, pokud objekt před pokusem o jeho odstranění již neexistuje.
Inline TVFs versus Multi-Statement TVFs
Příklady na této stránce používají funkci vložené tabulky s hodnotou. Stejný koncept platí pro vícepříkazové TVF.
Podrobnější příklady každé z nich najdete v části Vytvoření funkce s inline tabulkovou hodnotou a Vytvoření funkce s tabulkovou hodnotou s více příkazy.