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

ما الخطأ في هذه الفانكشنز

مغلق
بدأه Asp Lover في 22 أغسطس 2006 · 1 رد · 674 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

ما الخطا في كود الفانكشن

كود1: كود

create function func_b(@topicId int, @threadId int) returns table
as

BEGIN
declare @table int

	 if not exists(select count(topicId) from topics where topicId = @topicId)
		  print 'Topic Not Found...!'
	 else

		  if not exists(select count(threadId) from threads where threadId = @threadId)
			   print 'Thread Not Found...!'
		  else
			   set @table =(select MessageSubject, MessageText from Messages where threadId = @threadId)
return @table

END

---------------

رسالة الخطا هي على الشكل التالي:

Server: Msg 170, Level 15, State 31, Procedure func_b, Line 17

Line 17: Incorrect syntax near 'BEGIN'.

-----------------------------------------------------------------------

كود 2: كود

create function func_b(@topicId int, @threadId int) returns table
as
begin
declare @RecCount int
declare @Tbl table

if not exists(select count(topicId) from topics where topicId = @topicId)
	 print 'Topic Not Found...!'
else
begin
	 if not exists(select count(threadId) from threads where topicId = @topicId)
		  print 'Thread Not Found...!'
	 else
	 begin
		  set @Tbl = (select messageSubject, messageText from messages
				   where threadId = @threadId)
	 end
end

return @Tbl

end

---------------

رسائل الخطا هي:

Server: Msg 156, Level 15, State 1, Procedure func_b, Line 7

Incorrect syntax near the keyword 'if'.

Server: Msg 137, Level 15, State 1, Procedure func_b, Line 17

Must declare the variable '@Tbl'.

Server: Msg 137, Level 15, State 1, Procedure func_b, Line 20

Must declare the variable '@Tbl'.

Server: Msg 170, Level 15, State 1, Procedure func_b, Line 22

Line 22: Incorrect syntax near 'BEGIN'.

-----------------------------------------------------------------------

كود 3: كود

Create Function Func_b(@topicId int, @threadId int)
RETURNS TABLE
AS
return

if @topicId not in (select topicId from topics) 
print 'Topic Not Found...!'
else
if @threadId not in (select threadId from threads)
print 'Thread Not Found...!'

else
(select m.MessageSubject, m.MessageText 
from Messages m JOIN threads ON m.threadId = threads.threadId JOIN topics ON topics.topicId = threads.topicId
WHERE topics.topicID=@topicId and threads.threadId=@threadId)

رسالة الخطا هي:

Server: Msg 156, Level 15, State 1, Procedure Func_b, Line 8

Incorrect syntax near the keyword 'if'.

---------------------------------

اكثر مشكلة واجهتني بكل اشكال الكود .. لحل هذه المسائلة ... و بمختلف الطرق انو عم يطلع خطا اما بالاف if او بالبعن begin او بالاند تبعها end ... يعني ما عم يفهمهون .. انا حاولت حل هل الطلب بس للاسف ما قدرت .. و عن جد الافكار عم تفوت ببعضها ..

و السؤال هو :

اكتب التابع Func_b الذي يعيد موضوع ورسالة كل رسالة تابعة لموضوع رقمه @TopicID ولبند ضمنه رقمه @ThreadID مع معالجة حالات عدم وجود الموضوع وعدم وجود البند ضمن الموضوع.

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

شكرا جزيلا لكم

تم تعديل هذه المشاركة بواسطة Asp Lover في 22 أغسطس 2006 في 15:00

#2

هل قرأت هذه الصفحة ؟؟؟

استخدام الدوال في الـ Sql Server

تم تعديل هذه المشاركة بواسطة imadouzoun في 22 أغسطس 2006 في 15:23

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

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

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