138 - Funciones (modificar) |
Las funciones de SQL Server no pueden ser modificadas, las funciones definidas por el usuario si.
Las funciones definidas por el usuario pueden modificarse con la instrucción "alter function".
Sintaxis general:
alter function PROPIETARIO.NOMBREFUNCION NUEVADEFINICION;
Sintaxis para modificar funciones escalares:
alter funtion PROPIETARIO.NOMBREFUNCION (@PARAMETRO TIPO=VALORPORDEFECTO) returns TIPO as begin CUERPO return EXPRESIONESCALAR end
Sintaxis para modificar una función de varias instrucciones que retorna una tabla:
alter function NOMBREFUNCION (@PARAMETRO TIPO=VALORPORDEFECTO) returns @VARIABLE table (DEFINICION DE LA TABLA A RETORNAR) as begin CUERPO DE LA FUNCION return end
Sintaxis para modificar una función con valores de tabla en línea
alter function NOMBREFUNCION (@PARAMETRO TIPO) returns TABLE as return (SENTENCIAS SELECT)
Veamos un ejemplo. Creamos una función que retorna una tabla en línea:
create function f_libros (@autor varchar(30)='Borges') returns table as return ( select titulo,editorial from libros where autor like '%'+@autor+'%' );
La modificamos agregando otro campo en el "select":
alter table f_libros (@autor varchar(30)='Borges') returns table as return ( select codigo,titulo,editorial from libros where autor like '%'+@autor+'%' );