إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

مشكله فى كلمة declare لابد من استخدام variable


9 رد (ردود) على هذا الموضوع

#1 fathy attia

fathy attia

    عضو

  • الأعضــاء
  • 29 مشاركة

تاريخ المشاركة 26 November 2006 - 11:22 PM

السلام عليكم
استخدم كتاب لتعلم الاوراكل
يستخدم declare فى تعريف المتغيرات
و لكن عند التنفيذ
يقول bind variable no declared


عند استخدام variable و حذف declared ينفذ الكود
variable v_deptno NUMBER;
BEGIN
SELECT department_id
INTO :v_deptno
from departments
where department_name='Sales';
END;
/
print v_deptno


التنفيذ يتم على isqlplus
و شكرا

#2 abd_104

abd_104

    عضو

  • الأعضــاء
  • 29 مشاركة

تاريخ المشاركة 27 November 2006 - 12:20 AM

السلام عليكم
استخدم كتاب لتعلم الاوراكل
يستخدم declare فى تعريف المتغيرات
و لكن عند التنفيذ
يقول bind variable no declared


عند استخدام variable و حذف declared ينفذ الكود
variable v_deptno NUMBER;
BEGIN
SELECT department_id
INTO :v_deptno
from departments
where department_name='Sales';
END;
/
print v_deptno


التنفيذ يتم على isqlplus
و شكرا

عرض المشاركة

هذا الموضوع عن bind varabile
مثال
varabile vname number(5)
declare
v1 varchar2(20)
into v1
from emp
where empno=7900;
:vname:='abdelkader;
end;
/
print vname;
ABD ELKADER MOHAMED

#3 fathy attia

fathy attia

    عضو

  • الأعضــاء
  • 29 مشاركة

تاريخ المشاركة 27 November 2006 - 01:10 PM

يا ريت توضح اكثر لو سمحت
متى استخدم declare
و متى استخدم variable
و شكرا

#4 basilt

basilt

    مشترك

  • الأعضــاء
  • 90 مشاركة
  • الاسم الأول:b
  • اسم العائلة:t
  • البـلـد: Country Flag
  • الاهتمامات:Reading
    Sports
    Football
    Oracle Projects

تاريخ المشاركة 27 November 2006 - 01:42 PM

We use Declare in Pl/Sql Code

declare 
no number;
begin
/* 
Excute statement
*/
end;




and we use Variable in SQL ....

variable v_deptno NUMBER;

select dname
from dept
where dept_no = :v_deptno;



#5 fathy attia

fathy attia

    عضو

  • الأعضــاء
  • 29 مشاركة

تاريخ المشاركة 27 November 2006 - 08:57 PM

عندما استخدم declare
و اعمل print لل variable
يعطينى ان المتغير غير معلن عنه
ارجو التنوضيح

#6 elsakup

elsakup

    عضو

  • الأعضــاء
  • 1 مشاركة

تاريخ المشاركة 28 November 2006 - 10:00 AM

السلام عليكم
ممكن يا شباب احد يعطني مو ضوع كامل عن أنواع variable pl/SQL وياريت اليوم
وشكراً

#7 mah_dba

mah_dba

    عضو

  • الأعضــاء
  • 37 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 28 November 2006 - 11:50 AM

variable تستخدم للتعامل مع المتغيرات بعيدا عن صيغ (procedure ,function)لآن التعريف يكون بداخلهم بعد جملة is,
و declare تستخدم فى pl/sql مع صيغة برنامج (anonymous blocks)أى يحوى begin وend أى سينفذ مرة واحدة
وفى بيئة pl/sqlعندما تستخدم function ولها returnيجب حمله فى variable(معرف خارج function) حتى تتمكن من طباعته

أرجو أن أكون أوضخت المراد
Mohamed Ahmed Hassan
ADF Developer

#8 fathy attia

fathy attia

    عضو

  • الأعضــاء
  • 29 مشاركة

تاريخ المشاركة 29 November 2006 - 11:10 PM

شكرا اخى الكريم على ردك

#9 a_m2

a_m2

    مشترك

  • الأعضــاء
  • 169 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 26 December 2006 - 02:36 PM

اخى العزيز عبارة bind variable no declared
هذه العباره معناها انك استخدمت متغير بعد begin وهذا المتغير لم تعلن عنه وللتخلص من هذه المشكله لابد من الاعلان عن المتغيرات المستخدمه فى البلوك بعد عبارة delare مثلا
اذا كانا سوف نستخدم متغير اسمه sal فلابد ان نعلن عنه اولا فى ال declare فنقول مثلا sal number(3)
او اذا اردنا ان نعطيه نفس نوع حقل من جدول وليكن employees فنكتب sal emplyees.salary%type وبذلك نكون اعلنا عن المتغير الذى سوف نستخدمه

#10 amsh

amsh

    عضو

  • الأعضــاء
  • 20 مشاركة

تاريخ المشاركة 28 December 2006 - 09:46 AM

بسم الله الرحمن الرحيم
السلام عليكم ورحة الله
أخي العزيز سأشرح لك بشكل أوضح ولكن عليك أن تقرأ أكثر و(تمخمخ) :)
يستخدم Variable في الجلسة لإعلان عن متغير Global variable الذي يمكنك استدعاءه -بعداسناد قيمة له طبعا- من أي بريمج أو برنامج(Anonymous block,Procedure,Function,or Package)
عن طريق سبقه ب(:) أي كما يلي(Global_var:) وذلك دن الاضطرار لتعريفه ضمن الرنامج نفس
او ايتعليمة SQL حتى في استعلام بسيط)Select,Insert ...) تنفذه في الجلسة-Session-

اما Declare(فيAnonymous block) أو Declare section(في Function,Procedure,or Package)
فهي لتعرف المتحولات على مستوى البرنامج أي لا يمكن استدعاءها من خارج البرنامج ولا استخدامها

هل استوعبت الموضوع فهذا كلام مختصر فالموضوع يحتاج لاكثر من ذلك
ارجوا منك الدعاء وستر الأخطاء واعلامي بها :rolleyes: