Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Podemos chamar um proc armazenado de uma função?


Sim.

Você pode fazer isso com um pouco de hack envolvendo openrowset mas não é recomendado, pois abrirá uma nova conexão.
CREATE FUNCTION dbo.test ()
RETURNS  varchar(200)
AS
BEGIN
    RETURN (Select top 1 [Name] from 
OPENROWSET('SQLNCLI','Server=.\SQL2008;Trusted_Connection=yes;','SET NOCOUNT ON;SET FMTONLY OFF;EXEC MASTER..SP_HELP') 
)

END
GO

SELECT dbo.test()