valores tipos tabla parametros opcionales linea funciones funcion escalares cual create con agregadas sql tsql sql-function

tipos - Llamando funciones escalares en SQL



tipos de funciones en sql server (5)

He migrado una base de datos de Oracle, y ahora tengo algunas funciones de valor escalar.

Sin embargo, cuando los llamo, recibo un error que dice:

No se puede encontrar la columna "dbo" o la función definida por el usuario o el agregado "dbo.chk_mgr", o el nombre es ambiguo.

Lo estoy llamando así:

SELECT dbo.chk_mgr(''asdf'')

¿Qué estoy haciendo mal?


¿Estás seguro de que no es una Table-Valued Function ?

La razón por la que pregunto:

CREATE FUNCTION dbo.chk_mgr(@mgr VARCHAR(50)) RETURNS @mgr_table TABLE (mgr_name VARCHAR(50)) AS BEGIN INSERT @mgr_table (mgr_name) VALUES (''pointy haired boss'') RETURN END GO SELECT dbo.chk_mgr(''asdf'') GO

Resultado:

Msg 4121, Level 16, State 1, Line 1 Cannot find either column "dbo" or the user-defined function or aggregate "dbo.chk_mgr", or the name is ambiguous.

Sin embargo...

SELECT * FROM dbo.chk_mgr(''asdf'') mgr_name ------------------ pointy haired boss


Asegúrese de tener seleccionada la base de datos correcta. Puede tener seleccionada la base de datos maestra si está intentando ejecutarla en una nueva ventana de consulta.


Esa sintaxis funciona bien para mí:

CREATE FUNCTION dbo.test_func (@in varchar(20)) RETURNS INT AS BEGIN RETURN 1 END GO SELECT dbo.test_func(''blah'')

¿Está seguro de que la función existe como una función y bajo el esquema dbo?



PRINT dbo.[FunctionName] ( [Parameter/Argument] )

P.ej:

PRINT dbo.StringSplit(''77,54'')