یادداشت های یک برنامه نویس
دوستدار فرهنگ و هنر کهن ایرانی

ارسال آرایه به Function در SQL Server


پرسش امنیتی

مقدار 4 به علاوه 3 چقدر میشود؟

دیدگاه شما پس از تایید نمایش داده خواهد شد.

در اینجا منظور از آرایه یک رشته از پارامترها است که با کاما از یکدیگر جدا شده اند (بطور مثال '1,2,3,4,5') که به عنوان ورودی به یک فانکشن ارسال می کنیم و از آن درون فانکشن استفاده می کنیم:

Create FUNCTION Function_ArrayInput(@Codes as nvarchar(max))
RETURNS TABLE 
AS
RETURN
SELECT  ID, Code, Name
FROM    Test
WHERE  (CHARINDEX(CAST(Code AS nvarchar(20)), @Codes) > 0)

---Use:
select * from Function_ArrayInput('A,B,C')

در مثال فوق یک رشته از کد ها را به فانکشن فرستاده ایم و شرطی که در فانکشن قرار دارد درست مانند کد زیر عمل می کند:

WHERE  Code in ('A','B','C')