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

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

صورة
- - - - -

محتاج مساعدة في جملة Insert


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

#1 ledow2007

ledow2007

    عضو

  • الأعضــاء
  • 38 مشاركة
  • الاسم الأول:waleed
  • اسم العائلة:oraby
  • البـلـد: Country Flag

تاريخ المشاركة 22 March 2010 - 02:16 PM

إلى أعضاء المنتدي الكرام

محتاج مساعدة في شرح هذا الكود


Copy specific columns (and rows) from one table to another:
Insert into postables
(postable_id, postable_name, dept, auth_name)
VALUES(
(Select postables_seq.nextval),
(Select 'some static text' postable_name),
(Select dept From cost_centres Where cc_code = 123),
(Select auth_name From authorisers Where auth_code = 'Z5f')
)
[b]
-- The same as above written to select alias names:[/b]

insert into postables
(postable_id, postable_name, dept, auth_name)
(select AA,BB,CC,DD
from (Select postables_seq.nextval AA),
(Select 'some static text' BB),
(Select dept CC From cost_centres Where cc_code = 123),
(Select auth_name DD From authorisers Where auth_code = 'Z5f'));


#2 ledow2007

ledow2007

    عضو

  • الأعضــاء
  • 38 مشاركة
  • الاسم الأول:waleed
  • اسم العائلة:oraby
  • البـلـد: Country Flag

تاريخ المشاركة 23 March 2010 - 01:06 PM

معقول الكود صعب لدرجة دي
بس أعتقد انه مش بالصعوبة على محترفي أوركل بالموقع ولكن أعتقد أنهم مشغولين........... منتظر الردود

#3 oracleman2010

oracleman2010

    عضو

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

تاريخ المشاركة 31 March 2010 - 01:50 PM

1- First the insert statements must be wrote as next to run successfully:

INSERT INTO postables
(postable_id,
postable_name,
dept, auth_name
)
VALUES ((SELECT postables_seq.NEXTVAL
FROM DUAL),
(SELECT 'some static text' postable_name
FROM DUAL),
(SELECT dept
FROM cost_centres WHERE cc_code = 123), (SELECT auth_name
FROM authorisers WHERE auth_code = 'Z5f')
);

INSERT INTO postables
(postable_id, postable_name, dept, auth_name)
(SELECT aa, bb, cc, dd
FROM (SELECT postables_seq.NEXTVAL aa
FROM DUAL),
(SELECT 'some static text' bb
FROM DUAL),
(SELECT dept cc
FROM cost_centres WHERE cc_code = 123),
(SELECT auth_name dd
FROM authorisers WHERE auth_code = 'Z5f'));


2-It is no difference between the 2 statements, their job is one and its inserting rows into a table.
Moustafa Ezzat