Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

एक दृश्य में संग्रहीत प्रक्रिया को कैसे कॉल करें?

SQL सर्वर में इस निर्माण की अनुमति नहीं है। एक इनलाइन तालिका-मूल्यवान फ़ंक्शन पैरामीटरयुक्त दृश्य के रूप में प्रदर्शन कर सकता है, लेकिन अभी भी इस तरह एक एसपी को कॉल करने की अनुमति नहीं है।

यहां एसपी और इनलाइन टीवीएफ का परस्पर उपयोग करने के कुछ उदाहरण दिए गए हैं - आप देखेंगे कि टीवीएफ अधिक लचीला है (यह मूल रूप से एक फ़ंक्शन की तुलना में एक दृश्य की तरह है), इसलिए जहां एक इनलाइन टीवीएफ का उपयोग किया जा सकता है, वे अधिक पुन:हो सकते हैं- प्रयोग करने योग्य:

CREATE TABLE dbo.so916784 (
    num int
)
GO

INSERT INTO dbo.so916784 VALUES (0)
INSERT INTO dbo.so916784 VALUES (1)
INSERT INTO dbo.so916784 VALUES (2)
INSERT INTO dbo.so916784 VALUES (3)
INSERT INTO dbo.so916784 VALUES (4)
INSERT INTO dbo.so916784 VALUES (5)
INSERT INTO dbo.so916784 VALUES (6)
INSERT INTO dbo.so916784 VALUES (7)
INSERT INTO dbo.so916784 VALUES (8)
INSERT INTO dbo.so916784 VALUES (9)
GO

CREATE PROCEDURE dbo.usp_so916784 @mod AS int
AS 
BEGIN
    SELECT  *
    FROM    dbo.so916784
    WHERE   num % @mod = 0
END
GO

CREATE FUNCTION dbo.tvf_so916784 (@mod AS int)
RETURNS TABLE
    AS
RETURN
    (
     SELECT *
     FROM   dbo.so916784
     WHERE  num % @mod = 0
    )
GO    

EXEC dbo.usp_so916784 3
EXEC dbo.usp_so916784 4

SELECT * FROM dbo.tvf_so916784(3)    
SELECT * FROM dbo.tvf_so916784(4)

DROP FUNCTION dbo.tvf_so916784
DROP PROCEDURE dbo.usp_so916784
DROP TABLE dbo.so916784


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटाबेस डिजाइन:खाता शेष की गणना

  2. अनुपलब्ध आर्टिफ़ैक्ट com.microsoft.sqlserver:sqljdbc4:jar:4.0

  3. उदाहरण पर हमेशा उपलब्धता समूह में SQL सर्वर में पारदर्शी डेटा एन्क्रिप्शन (TDE)

  4. sql सर्वर और mysql के बीच लिंक्ड सर्वर पर वितरित लेनदेन

  5. SQL NVARCHAR और VARCHAR सीमाएं