sql >> Database teknologi >  >> RDS >> Sqlserver

Kan vi kalde en lagret proc fra en funktion?

Ja.

Du kan gøre dette med lidt af et hack, der involverer openrowset men det anbefales ikke, da det åbner en ny forbindelse.

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()


  1. Oracle DBA spørgsmål i realtid

  2. SQL tæller rækker i en tabel

  3. PHP MySQLi forberedte sætninger og hentede undersæt af kolonner

  4. Bedste designmønster til at lukke databaseforbindelsen, når der opstår en undtagelse