Основы (асослар)
Download 0.95 Mb.
|
PL-SQL Маъруза матни
- Bu sahifa navigatsiya:
- Назорат тузилмалари
- IF-THEN
- IF-THEN-ELSE
- IF-THEN-ELSIF
Назорат тузилмалариУшбу бўлимда PL/SQL дастурларида назорат оқимлари қандай тузилганлиги ҳақида сўз юритилади. Назорат тузилмалари қуйидаги жадвалда келитирлган: Назорат тузилмалариШартли назорат: IF жумлалариIF жумлаларнинг учта формаси мавжуд: IF-THEN, IF-THEN-ELSE, ва IF-THEN-ELSIF. IF-THENIF-THEN жумласи қуйидаги синтаксисга эга IF шарт THEN Жумлалар_кетма_кетлиги END IF; Бу ерда жумлалар_кетма_кетлиги бажарилади, агарда шарт рост бўлса. Масалан IF sales > quota THEN compute_bonus(empid); UPDATE payroll SET pay = pay + bonus WHERE empno = emp_id; END IF; Сиз IF жумласини битта қаторда ҳам ёзишингиз мумкин: IF x > y THEN high := x; END IF; IF-THEN-ELSEIF-THEN-ELSE жумласи қуйидаги синтаксисга эга IF шарт THEN Жумлалар_кетма_кетлиги1 ELSE Жумлалар_кетма_кетлиги2 END IF; Бу ерда жумлалар_кетма_кетлиги1 бажарилади, агарда шарт рост бўлса, акс ҳолда жумлалар_кетма_кетлиги2 бажарилади. Масалан IF trans_type = 'CR' THEN UPDATE accounts SET balance = balance + credit WHERE ... ELSE UPDATE accounts SET balance = balance - debit WHERE ... END IF; IF жумлалари ўзаро ичма-ич жойлашиши мумкин: IF trans_type = 'CR' THEN UPDATE accounts SET balance = balance + credit WHERE ... ELSE IF new_balance >= minimum_balance THEN UPDATE accounts SET balance = balance - debit WHERE ... ELSE RAISE insufficient_funds; END IF; END IF; IF-THEN-ELSIFIF-THEN-ELSIF жумласи қуйидаги синтаксисга эга IF шарт1 THEN Жумлалар_кетма_кетлиги1 ELSIF шарт2 THEN Жумлалар_кетма_кетлиги2 ELSE Жумлалар_кетма_кетлиги3 END IF; Бу ерда жумлалар_кетма_кетлиги1 бажарилади, агарда шарт1 рост бўлса, акс ҳолда жумлалар_кетма_кетлиги2 бажарилади, агарда шарт2 рост бўлса, акс ҳолда жумлалар_кетма_кетлиги1 бажарилади. Масалан BEGIN
IF sales > 50000 THEN bonus := 1500; ELSIF sales > 35000 THEN bonus := 500; ELSE bonus := 100; END IF; INSERT INTO payroll VALUES (emp_id, bonus, ...); END; IF жумлаларида ELSIF жумлалари сони ихтиёрий бўлиши мумкин. Ичма-ич жойлашган IF жумлалари ўрнига ELSIF жумлаларидан фойдаланиш тавсия этилади. IF condition1 THEN |IF condition1 THEN statement1; | statement1; ELSE |ELSIF condition2 THEN IF condition2 THEN | statement2; statement2; |ELSIF condition3 THEN ELSE | statement3; IF condition3 THEN | END IF; statement3; | END IF; | END IF; | END IF; | Download 0.95 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling