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á
CREATEmí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.