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

किसी फ़ंक्शन के भीतर से अस्थायी तालिकाओं तक नहीं पहुंच सकता

आप अपनी समस्या को हल करने के लिए उपयोगकर्ता परिभाषित तालिका प्रकार का उपयोग कर सकते हैं।

आप बस एक टेबल वेरिएबल बनाएं जैसे

CREATE TYPE [dbo].[yourTypeName] AS TABLE(
    [columeName1] [int] NULL,
    [columeName2] [varchar](500) NULL,
    [columeName3] [varchar](1000) NULL
)
GO

और आप इस तालिका चर को अपने फ़ंक्शन में घोषित कर सकते हैं जैसे

    CREATE FUNCTION [dbo].[yourFunctionName] 
( 
    @fnVariable1 INT ,
    @yourTypeNameVariable yourTypeName READONLY
) 
RETURNS VARCHAR(8000) 
AS 
BEGIN 

    SELECT .................
        FROM @yourTypeNameVariable 
        WHERE ........
    RETURN @r 
END 

अपनी प्रक्रिया पर आप अपने टेबल प्रकार की घोषणा कर सकते हैं जैसे

DECLARE @yourTypeNamevaribale AS yourTypeName 

और आप इस तालिका में मान सम्मिलित कर सकते हैं जैसे

insert into @yourTypeNamevaribale (col,col,..)values(val,val,..)

इसे अपने फ़ंक्शन में पास करें जैसे

dbo.yourFunctionName(fnVariable1 ,@yourTypeNamevaribale )

कृपया इस विधि को अपनाएं, धन्यवाद



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर संग्रहीत प्रो में वैकल्पिक पैरामीटर?

  2. एक सबक्वायरी से एक सीमित क्षेत्र में एकाधिक पंक्तियों में शामिल होने के लिए SQL सर्वर फ़ंक्शन कैसे बनाएं?

  3. SqlQuery के साथ संग्रहीत कार्यविधि से एकाधिक परिणाम संभालें

  4. ASP.NET सत्रों को प्रबंधित करने के लिए SQL सर्वर को कैसे कॉन्फ़िगर करें

  5. SQL सर्वर आंतरिक:योजना कैशिंग पीटी। II - पुन:संकलन योजनाएं