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

ممكن توضحون لي الخطأ الي في الكود التالي.....!

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

السلام عليكم...

كيفكم جميعا....

لو سمحتو عندي مشكله في Trigger مو راضي يمشي معاي....

الفكره هيا انو عندي جدولين.....جدول المواعيد...وجدول اجازات الأطباء.....

المواعيد فيه الحقول...رقم الطبيب...ورقم المريض..وتاريخ الموعد..

والاجازات فيه ..رقم الطبيب..وتاريخ بدايه الاجازة..وتاريخ النهايه....

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

هذا الكود الي انا عملنه.....

Create trigger App_Vic

on apponitments

for insertas

select i.doctorid,i.appdate,v.doctorid,v.startingdate,v.enddate

from inserted as i join Vications as v

on

i.doctorid=V.doctorid

if

(i.doctorid=v.doctorid )

and

(I.appdate between v.startingdate and v.end date

begin

raiserror

(1, 16,'لايمكن حجز الموعد...الطبيب غير موجود')

rollback

اللحين كل مانفذته تطلع لي رساله الخطأ التاليه:

Server: Msg 170, Level 15, State 1, Procedure App_Vic, Line 15

Line 15: Incorrect syntax near 'rollback'.

طبعا مو راضي يقبل الـــ'rollback' حاولت اغير ....مرة حطيت Return ومرة حطيت 'rollback transaction'

وكل مرة نفس المشكله..... يطلع لي نفس الخطأ...ويعلق على اخر كلمه بالكود..

الله يعافيكم يارب..ويكتب لكم الخير...ايش هيا المشكله...او بالاصح ايش هوا الخطأ في الكود...وكيف ممكن يتنفذ صح؟؟؟

دلوني ربي ييسر لكم يارب....

#2

السلام عليكم ورحمة الله وبركاته :

begin
raiserror 
(1, 16,'لايمكن حجز الموعد...الطبيب غير موجود')
rollback

أين الـ End يا أخـ(ـت) نور ..

أنا أرى begin ولا أرى الـ end ... :D

تم تعديل هذه المشاركة بواسطة imadouzoun في 20 أكتوبر 2006 في 17:09

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة 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

#3
Create trigger App_Vic on apponitments
for insert
as select i.doctorid,i.appdate,v.doctorid,v.startingdate,v.enddate
from inserted as i 
inner join Vications as v on i.doctorid = V.doctorid
if i.doctorid = v.doctorid and (I.appdate between v.startingdate and v.enddate)
begin raiserror ('لايمكن حجز الموعد...الطبيب غير موجود',16,1)
--rollback
end

Technical Lead Developer

My LinkedIn Profile

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

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

#4

إذا بتقبلي النصيحة

شو رأيك تعملي SP_Insert

يتم مناداته لإدخال أي سجلات و هنا يتم معالجة أي أخطاء في تكامل البيانات

سلام

#5

ههههههههههههههههههههههههههههههههههههههههههههههههههههههههههه

ياربي رباااااااااااااااااااااه..

السالفه بــــــEnd

وقسم بالله لمن قريتها ضحكت ضحك.....شكلو صوتي وصل للجيران......!!!

ياربيه كيف الواحد ينسى شي سخيف...

الله يسعدكم يارب زي ماسعدتوني بردودكم....

والله يوسع صدوركم بالعاااااااااااااااااااافيه والسلامه........ويعيد عليكم رمضان يارب....

imadouzoun

Night Coder

الف شكر لكم....وجزاكم الله عني الف خير..ماقصرتو والله...

Desigen

هلا اخوي...مشكور على ردك واهتمامك ربي يعافيك يارب..

بس الي انتا تقول عنها بصراحه ما اعرفها...ولا درسناها.....احنا المطلوب منا بس Triggers و Stord proceders

والف الف شكر لكم..

تم تعديل هذه المشاركة بواسطة No0oR في 21 أكتوبر 2006 في 01:06

#6

لما بنجي بنعمل قاعدة بيانات بنشوف شو هو احتياج الزبون أو المبرمج

و أنت كمصممة لقاعدة بيانات يجب عليكي كتابة جمل الإستعلام لها

لكن غالبا يتم استخدام SP == Storage Procedure

للقيام بعمليات من النوع DML ( Insert , Update , Delete )

و بالتالي بتعملي SP خاص بعملية الإدخال Insert و تقولي للمبرمج

يجب عليك مناداة الإجراء و لا يسمح لك بـ عمل Insert بطريقة مباشرة

و إنتي داخل الإجراء بتعملي اختبار للقيم و ما إلى ذلك

بالتوفيق

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…