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

أسئلة جديدة من إنترفيو


helal_10g

Recommended Posts

وضح و ظيفة هذا الكود داخل FORMS

DECLARE
v number;
BEGIN
v:= POPULATE_GROUP ('R1');
POPULATE_LIST('DEPARTMENT_ID','R1');
END;

رابط هذا التعليق
شارك

هذا الكود وظيفته تعبئة القائمة Department_id بالسجلات الناتجة من الـ Record Group R1
ويستخدم غالباً لعمل قائمة ديناميكية مبنية على record group ينفذ استعلام من قاعدة البيانات

تم تعديل بواسطة az123
رابط هذا التعليق
شارك

DECLARE
V1 RECORDGROUP;
V2 NUMBER;
BEGIN
V1:= CREATE_GROUP_FROM_QUERY('R1','SELECT DEPARTMENT_NAME , TO_CHAR(DEPARTMENT_ID) FROM DEPARTMENTS ');
V2:= POPULATE_GROUP('V1');
POPULATE_LIST('DEPARTMENT_ID','R1');
END;

تم تعديل بواسطة helal_10g
رابط هذا التعليق
شارك

مثال على سؤال المهندس أحمد
TRANSLATE(LAST_NAME,'abc','A','B','C ') SELECT 
from EMPLOYEES

تم تعديل بواسطة helal_10g
رابط هذا التعليق
شارك

  • بعد 2 أسابيع...

FOR QUISTION NUMBER ONE


IS


TABLE EMALAT IS



[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
AND THE SLECET STATMENT LIKE THIS

SELECT  SUBSTR ( EMAIL , 1 , INSTR(EMAIL , '@')-1) USER_NAME ,
SUBSTR (REPLACE (EMAIL , SUBSTR(EMAIL , 1 , INSTR(EMAIL , '@'))) , 1 , INSTR (REPLACE (EMAIL , SUBSTR(EMAIL , 1 , INSTR(EMAIL , '@'))) , '.') -1)  WEB_SITE
, REPLACE (EMAIL , SUBSTR(EMAIL , 1 , INSTR(EMAIL , '.'))) DOMEIN
FROM EMALAT ;
SELECT * FROM EMALAT ;
/
ANSWER QUESTION NUMBER 2 IS

SELECT MAX(SALARY) FROM
(SELECT SUM (SALARY)  SALARY  FROM EMPLOYEES GROUP BY DEPARTMENT_ID) ;
/
ANSWER QUESTION NUMBER 3 IS

CREATE OR REPLACE PROCEDURE DAYS_PROCEDURE
(NUM  IN NUMBER)
IS
CURSOR DAYS_CURSOR IS SELECT   NEXT_DAY (SYSDATE , NUM)	DAYS  FROM DUAL ;
DAYS_RECORDS	DAYS_CURSOR %ROWTYPE ;
T_DATE VARCHAR2(50) ;
BEGIN
OPEN DAYS_CURSOR ;
LOOP
FETCH DAYS_CURSOR INTO DAYS_RECORDS ;
EXIT WHEN DAYS_CURSOR %NOTFOUND ;
T_DATE := TO_CHAR (DAYS_RECORDS.DAYS , 'DAY-MONTH-YEAR');
INSERT INTO DAYS_OFF (DAYS)
VALUES (T_DATE);
END LOOP;
END DAYS_PROCEDURE ;
/
SHOW ERRORS PROCEDURE DAYS_PROCEDURE ;
/
CREATE OR REPLACE PROCEDURE DAYS_PROCEDURE_1
IS
BEGIN
FOR COUNTER IN 1..7 LOOP
DAYS_PROCEDURE (COUNTER) ;
END LOOP ;
END DAYS_PROCEDURE_1 ;
/
SHOW ERRORS PROCEDURE DAYS_PROCEDURE_1 ;
/
CREATE OR REPLACE PROCEDURE OFF_DAYS
(NUM IN NUMBER)
IS
CURSOR OFF_DAYS_CURSOR IS SELECT NEXT_DAY (NEXT_DAY(SYSDATE , 7) , NUM) DAYS FROM DUAL ;
OFF_DAYS_RECORDS  OFF_DAYS_CURSOR %ROWTYPE ;
T_DATE VARCHAR2(50);
BEGIN
OPEN OFF_DAYS_CURSOR ;
LOOP
FETCH OFF_DAYS_CURSOR INTO OFF_DAYS_RECORDS ;
EXIT WHEN OFF_DAYS_CURSOR %NOTFOUND ;
T_DATE := TO_CHAR (OFF_DAYS_RECORDS.DAYS  , 'DAY-MONTH-YEAR');
INSERT INTO DAYS_OFF
VALUES (T_DATE) ;
END LOOP;
END OFF_DAYS ;
/
SHOW ERRORS PROCEDURE OFF_DAYS ;
/
CREATE OR REPLACE PROCEDURE OFF_DAYS_1
IS
BEGIN
FOR COUNTER IN 1..3 LOOP
OFF_DAYS(COUNTER) ;
END LOOP ;
END OFF_DAYS_1 ;
/
SHOW ERRORS PROCEDURE OFF_DAYS_1 ;
/
CREATE OR REPLACE PROCEDURE TEN_DAYS_PROCEDURE
IS
BEGIN
DAYS_PROCEDURE_1 ;
OFF_DAYS_1 ;
END TEN_DAYS_PROCEDURE ;
/
SHOW ERRROS PROCEDURE TEN_DAYS_PROCEDURE ;
/
CREATE OR REPLACE PROCEDURE NET_DAYS_WORK
IS
COUNT_WORK_DAYS  NUMBER ;
BEGIN
SELECT COUNT (*) INTO COUNT_WORK_DAYS  FROM DAYS_OFF WHERE DAYS NOT LIKE '%السبت%'  AND DAYS NOT LIKE '%الجمعة%' ;
DBMS_OUTPUT.PUT_LINE ('THE TOTAL DAYS THAT THE EMPLOYEE WORKING IS'|| '  '||COUNT_WORK_DAYS||' '||'DAYS');
END NET_DAYS_WORK ;
/
SHOW ERRORS PROCEDURE NET_DAYS_WORK ;
/
BEGIN
TEN_DAYS_PROCEDURE ;
NET_DAYS_WORK ;
END;
/

رابط هذا التعليق
شارك

  • بعد 1 شهر...

السلام عليكم ارجو المساعده عندي 4 أعمده عاوز فنكشن تحسب ال TOTAL بتاع كل عمود !!!!!

تم تعديل بواسطة sayed ali
رابط هذا التعليق
شارك

create or replace function ex(id in number)
return number
is
v_num number;
begin
select round (months_between (sysdate , hire_date )/12 ,0)
into v_num from employees
where employee_id = id;
return v_num;
end;
تعطي عدد السنوات منذ تعيين الموظف الى الان

رابط هذا التعليق
شارك

  • بعد 2 سنة...

select EMPLOYEE_ID,first_name ,salARY from (select EMPLOYEE_ID, first_name,salARY ,rank() over (order by salARY desc) rnk
, row_number() over (order by salary) as rn
from empLOYEES
)
where rnk <= 10
and rn > 5
order by salary

تم تعديل بواسطة mohamed essam_145682
رابط هذا التعليق
شارك

  • بعد 2 أسابيع...

1 - عايز جملة select لتقسيم عمود الميل إلى إسم المستخدم و إسم الموقع و com يعنى يطلع على ثلاث أعمدة بدون نقطة . أو @

2 - عايز جملة select أعرف بيها أكبر sum للمرتبات من جدول الموظفين

3- عايز function ترجع تاريخ اليوم زيادة عشرة أيام مع عدم حساب يوم الجمعة و السبت يعنى إجازة الموظف لا يتم حساب فيها يوم الجمعة و السبت

4 - ما هو الفارق بين كل من union , union all , intersect

يلا ياشباب عايز الناس تعدى من الانترفيو الصغير دة مستنى الحل بسرعة و كل ما يكون عندى أسئلة إنترفيوا سوف أكتب لكم

السؤال الأول:

SELECT REGEXP_SUBSTR('[email protected]','((\w+)\.?(\w+)?)@*?',1) ,
REGEXP_SUBSTR('[email protected]','(\w+)@(\w+)',1,1,'',2),
REGEXP_SUBSTR('[email protected]','(\w+)$') FROM DUAL;

السؤال الثاني:

SELECT MAX(SAL_SUM) FROM
  (SELECT SUM(SALARY) SAL_SUM FROM EMPLOYEES
    GROUP BY DEPARTMENT_ID
  );
رابط هذا التعليق
شارك

سؤال اليوم

عايز أكبر عشر مرتبات من جدول الموظفين

الجواب:

أعلى عشر مرتبات بأسماء موظفيها 

SELECT EMPLOYEE_ID, LAST_NAME, SALARY , SAL_RANK FROM 
(SELECT SALARY, DENSE_RANK() OVER(ORDER BY SALARY DESC) AS SAL_RANK
FROM EMPLOYEES) JOIN EMPLOYEES
USING(SALARY)
WHERE SAL_RANK <= 10
ORDER BY SAL_RANK;
رابط هذا التعليق
شارك

عايز إسم الموظف و تاريخ التعيين و إسم المديرو تاريخ التعيين بس بيانات الموظفين إلى تارخ تاعينهم قبل تاريخ مديرهم

SELECT E.LAST_NAME "EMPLOYEE NAME", E.HIRE_DATE "EMP HIRE DATE", M.LAST_NAME "MANAGER NAME", M.HIRE_DATE "MAN HIRE DATE"
FROM EMPLOYEES E JOIN EMPLOYEES M
ON (E.MANAGER_ID = M.EMPLOYEE_ID)
AND (E.HIRE_DATE < M.HIRE_DATE);
رابط هذا التعليق
شارك

طيب بص بقى يا جماعة عندى عمودين و احد بكتب فية PASSWORD و الثانى بكتب فيه تأكيد PASSWORD محتاج function تعمل الموضوع ده لوpassword الثانية لا تتطابق مع الاولة ترجع برسالة معبرة عن الموضوع ده

مستنى الحل

CREATE OR REPLACE FUNCTION CONF_PASSWORD(CONF_PASS VARCHAR2) RETURN VARCHAR2
IS
BEGIN
  IF(NULLIF('password', CONF_PASS) IS NOT NULL) THEN
      RAISE_APPLICATION_ERROR(-20202, 'Confirm password is not matched');
  END IF;
  RETURN ('Confirm password is matched');
END;
رابط هذا التعليق
شارك

ِشباب عايز شرح سريع للموضوع ده

create or replace function ex(id in number)
return number
is
v_num number;
begin
select round (months_between (sysdate , hire_date )/12 ,0)
into v_num from employees
where employee_id = id;
return v_num;
end;

 

دالة تقوم بإرجاع عدد السنوات المكتملة للموظف الذي يمتك الـ  ID التي عمل بها في المؤسسة

تم تعديل بواسطة المـقـدام
رابط هذا التعليق
شارك

 

السلام عليكم ارجو المساعده عندي 4 أعمده عاوز فنكشن تحسب ال TOTAL بتاع كل عمود !!!!!

 

SELECT SUM(COLUMN1), SUM(COLUMN2), SUM(COLUMN3), SUM(COLUMN4) FROM TABLE1;
رابط هذا التعليق
شارك

ما الفرق بين استخدام الأمر Replace , Translate مع ذكر مثال لكل منهم

TRANSLATE تقوم بتبديل الأحرف حرف حرف وإن لم تجد له بديل تقوم بحذفه  (كل حرف يقابله حرف اخر) وتستخدم في التشفير أحيانا

REPLACE تقوم باستبدال الشكل بالشكل الآخر

--TRANSLATE FUNCTION
SELECT TRANSLATE('AHMED','A B D F H M E','أ ب د ف ح م')
FROM dual;

--REPLACE FUNCTION
SELECT REPLACE('door','or', ' any thing')
FROM dual;
رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية