Odkbzhpoa 3225 Oracle ДҚбж пайдалана отырып аж жобалау


Oracle PL/SQL анық емес курсорлар, SQL%ROWCOUNT



жүктеу 1.36 Mb.
Pdf просмотр
бет14/19
Дата05.08.2022
өлшемі1.36 Mb.
#20887
1   ...   11   12   13   14   15   16   17   18   19
oracle kaz lab
Oracle PL/SQL анық емес курсорлар, SQL%ROWCOUNT 
Тапсырма: 
13.1 лабораториялық жұмысында орындалған, PL/SQL анық емес курсорларды қолдануымен 
қатар қосылған жолдар жайында ақпаратты PL/SQL кодына қосыңыз. 


30 
Лаб. 14.3-1сурет 
Шешуі: 
Алғашкы кодының көрінісі: 
SET SERVEROUTPUT ON; 
DECLARE 
sFirstName employees.first_name%TYPE; 
:= '&Номері_телефон'; 
sJobId := '&Қызметі_жұмысшының'; 
, sysdate, sJobId, (SELECT MIN(SALARY) from hr.employees where job_id=sJobId), null,null, 
null); 
DBMS_OUTPUT.PUT_LINE('Добавлено строк: ' || SQL%ROWCOUNT); 
commit; 
FOR item IN (SELECT * FROM hr.employees WHERE employees.first_name = sFirstName and 
employees.Last_name =sLastName ) 
LOOP 
.hire_date || ' ' || item.job_id || ' ' || item.salary ); 
END LOOP; 
END; 
Oracle PL/SQL-ға ауысудың шартты операторы, IF...THEN...ELSE құрылымдары  
Тапсырма:
PL/SQL кодын жазыңыз: 
1. жұмысшы нөмірі жайында ақпаратты сұрастырсын (employee_id) hr.employees кестесінде. 
2. Жұмысшы нөмірі негізінде жұмыс істеу уақытына тексеру жүргізсін. 
3. Келесі шарттармен осы жұмысшы үшін жалақысының мәнін өзгерту керек: 
егер жұмысшы он жылдан аз жұмыс жасаса, онда жалақысы бес пайызға көтеріледі; 
егер жұмысшы он немесе одан көп жұмыс жасаса жалақысы он пайызға көтеріледі; 
егер жұмысшы он бес жыл жұмыс жасаса, онда жалақы он бес пайызға көтеріледі. 
Жаңартудың орындап біткен соң жұмысшы нөмірі, оның аты мен фамилиясы, жұмыс 
жасаған жылы, ескі және жаңа жалақысы жайында ақпаратты Лаб. 15.1-1. суретке сәйкес 
енгізіңіз. 


31 
Лаб. 15.1-1. сурет 
Алынған PL/SQL кодын сақтаңыз. 
Шешуі:
PL/SQL сәйкес коды келесі түрде болады: 
SET SERVEROUTPUT ON; 
DECLARE
nEmpID hr.EMPLOYEES.Employee_id%TYPE := &Номер_сотрудника; 
nOldSalary hr.employees.salary%Type; 
into sLastName from hr.employees where employee_id = nEmpId; 
SELECT hire_date into dHireDate from hr.employees where employee_id = nEmpId; 
nYears := MONTHS_BETWEEN(SYSDATE, dHireDate)/12; 
IF nYears >= 15 then
nNewSalary := nOldSalary*1.15; 
ELSIF nYears >= 10 Then
nNewSalary := nOldSalary*1.10; 
PUT.PUT_LINE('Ескі жалақысы: ' || nOldSalary || ' Жаңа жалақысы: ' || nNewSalary); 
END; 

жүктеу 1.36 Mb.

Поделитесь с Вашими друзьями:
1   ...   11   12   13   14   15   16   17   18   19




©emirb.org 2022
әкімшілігінің қараңыз

    Басты бет