में बयान मैं एक छात्र तालिका का उपयोग करते हुए समारोह निम्नलिखित मानकोंटेबल-वैल्यूड अगर एसक्यूएल सर्वर
[ID] [nvarchar](50) NOT NULL,
[Firsname] [nvarchar](50) NOT NULL,
[Lastname] [nvarchar](50) NOT NULL,
[Melicode] [nchar](10) NOT NULL,
[City] [nvarchar](50) NOT NULL,
[Province] [nvarchar](50) NOT NULL,
[Active] [int] NULL
मैं एक टेबल-वैल्यूड समारोह नामित दिखाएँ जो संख्या के रूप में एक पैरामीटर है लिखना चाहते हैं के होते हैं। यदि @number = 3, केवल प्रांत रिटर्न समारोह अगर @number = 1, छात्र मेज से सभी स्तंभों
- निम्नलिखित रूप में कार्य करेगा छात्र
मैंने निम्नलिखित टी-एसक्यूएल लिखा, लेकिन यह केवल (अगर (@number = 1) के लिए काम करता है)। जब उपयोगकर्ता 2 या 3 के रूप में @number दर्ज करता है, तो फ़ंक्शन काम नहीं करता है। धन्यवाद
Create function Show(@number int)
RETURNS @result TABLE
(
[ID] [nvarchar](50) NOT NULL,
[Firsname] [nvarchar](50) NOT NULL,
[Lastname] [nvarchar](50) NOT NULL,
[Melicode] [nchar](10) NOT NULL,
[City] [nvarchar](50) NOT NULL,
[Province] [nvarchar](50) NOT NULL,
[Active] [int] NULL
)
AS
BEGIN
IF (@number = 1)
INSERT INTO @result SELECT * from Student
IF (@number = 2)
INSERT INTO @result (City) values ((SELECT City from Student))
IF (@number = 3)
INSERT INTO @result (Province) values ((SELECT Province from Student))
RETURN -- @Players (variable only required for Scalar functions)
END
go
select *from dbo.show(1)
से काम नहीं कर रहा है? यकीन नहीं आता। –