الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

SQL SERVER FUNCTIONS

مغلق
بدأه AbuZakaria في 13 فبراير 2006 · 5 رد · 1,005 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

كيف يمكن عمل دالة يكون الPARAMETER جدول بحيث يمكن ان استدعيها بالصورة التاالية على سبيل المثال

اقتباس
Select * from MyFunction(SELECT EmpNo from EmpTable)

و هل من الممكن عمل ذلك؟

#2

إذاً الموضوع ليس لتنشيط المخ

الاجابة بسيطة اصنع متغير من النوع Table و ايضاً راجع الموضوع للتوضيح

scalar inline table function ?, ماهي هذة الأشياء و كيف يمكن استخدامها

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#3

لقد طمانتني ان الموضوع بسيط يا اخ طارق اذا انا انتظر منك الرد قريبا و لكن بعد ان تعلم بالضبط ما اريده

انا اريد ان يكون ال Parameter الذي نزود به الدالة جدول و ليس الناتج يا اخ طارق :D و كما لا حظت انني كنت واضحا و ذكرت ذلك في المشاركة

بحسب معلوماتي المتواضعة فقد جربت هذه الدالة البسيطة و لكن لم تنجع معي

CREATE FUNCTION Test( @Zeko table )
RETURNS int
AS
BEGIN
   RETURN  10
END

و ظهر معي هذا الخطا البسيط الذي ارجوا ان تساعدني في حله

اقتباس
Msg 156, Level 15, State 1, Procedure Test, Line 1

Incorrect syntax near the keyword 'table'.

Msg 178, Level 15, State 1, Procedure Test, Line 5

A RETURN statement with a return value cannot be used in this context

.

و شكرا

تم تعديل هذه المشاركة بواسطة AbuZakaria في 16 فبراير 2006 في 17:34

#4

لو راجعت ال Books Online ستجد انه عند تعريفك لمتغير من نوع Table ان ترفق تركيب الجدول معه :D

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#5

برجاء التجريب قبل ادراج الحل ;)

CREATE FUNCTION Test( @Zeko table (int m) )
RETURNS int
AS
BEGIN
  RETURN  10
END

اقتباس
Server: Msg 156, Level 15, State 1, Procedure Test, Line 1

Incorrect syntax near the keyword 'table'.

Server: Msg 178, Level 15, State 1, Procedure Test, Line 6

A RETURN statement with a return value cannot be used in this context

.
#6

نعم اعتذر عن تسرعى و عدم شرح الرد جيداً

مباشرة لا يمكنك امرار متغير من نوع Table ك Input Parameter و انما تقتصر على كونه متغير محلى Local Variable داخل ال SP او ال UDF

CREATE FUNCTION Test()
RETURNS int
AS BEGIN --
/* Local Variable Of Table Data Type */
Declare @Zeko table (m int not null) 
/* Do Some Operations */
 RETURN  10
END

و اعتذر لتقصيرى هذه الفترة عن الاجابة او الاجابات المختصرة و قريباً إن شاء الله اعود كما السابق فارجو المعذرة

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

هذا الموضوع مغلق.

مواضيع مشابهة