[text] PL SQL

Viewer

  1. 1.Write a PL/SQL block to calculate the incentive of an employee whose ID is 110.
  2. DECLARE
  3. v_incentive number(8,2);
  4. BEGIN
  5.     select salary * 0.15 into v_incentive
  6.     from employees
  7.     where employee_id = 110;
  8.     dbms_output.put_line('Incentive = '||v_incentive);
  9. END;
  10.  
  11. 2.Write a PL/SQL block to show an invalid case-insensitive reference to a quoted and without quoted user-defined identifier.
  12. QUOTED USER-IDENTIFIER
  13. DECLARE
  14.     "HELLO" varchar2(10) :='Hello';
  15. BEGIN
  16.     dbms_output.put_line("Hello");
  17. END;
  18.  
  19. WITHOUT QUOTED USER-IDENTIFIER
  20. DECLARE
  21.     HELLO varchar2(10) :='Hello';
  22. BEGIN
  23.     dbms_output.put_line("Hello");
  24. END;
  25. 3.Write a PL/SQL block to show a reserved word can be used as a user-define identifier.
  26. DECLARE
  27.     "DECLARE" varchar2(25) :='UPPERCASE DECLARE';
  28.     "Declare" varchar2(25) :='Declare with uppercase D';
  29.     "declare" varchar2(25) := 'lowercase declare';
  30. BEGIN
  31.     dbms_output.put_line("HELLO");
  32.     dbms_output.put_line("Hello");
  33.     dbms_output.put_line("hello");
  34. END;
  35. 4.Write a PL/SQL block to show the result to neglect double quotation marks in reserved word identifier.
  36. DECLARE
  37.     "HELLO" varchar2(25) :='hello';
  38.     "DECLARE" varchar2(25) :='declare';
  39. BEGIN
  40.     dbms_output.put_line(Hello);
  41.     dbms_output.put_line(DECLARE);
  42. END;
  43. 5.Write a PL/SQL block to show the result to neglect the case sensitivity of a user defined identifier which is also a reserved word.
  44. DECLARE
  45.   "HELLO" varchar2(10) := 'hello';
  46.   "DECLARE" varchar2(10) := 'declare';
  47. BEGIN
  48.   DBMS_Output.Put_Line(Hello);
  49.   DBMS_Output.Put_Line("Declare");
  50. END;
  51.  
  52.  
  53. 6.Write a PL/SQL block to explain single and multiline comments.
  54. DECLARE
  55.     v_name varchar2(25) :='Danail'; --we declare name and this is single line comment    
  56. BEGIN
  57.     dbms_output.put_line(v_name); /*we use this commant to display the name.
  58.     and this is multi line comment*/
  59. END;
  60. 7.Write PL/SQL blocks to show the declaration of variables.
  61. DECLARE
  62. v_firstName varchar2(20) :='Danail';
  63. v_lastName varchar2(20) :='Zlatarov';
  64. v_age number(2) :=27;
  65. BEGIN
  66. NULL;
  67. END;
  68. 8.Write PL/SQL blocks to show the scope and visibility of local and global identifiers.
  69. DECLARE
  70.   var_a INTEGER;  
  71.   var_b REAL;    
  72. BEGIN
  73.   var_a:=5;
  74.   var_b:=10.25;
  75.   
  76.   DBMS_OUTPUT.PUT_LINE('In the Outer Block');
  77.   DBMS_OUTPUT.PUT_LINE('var_a = ' || var_a); 
  78.   DBMS_OUTPUT.PUT_LINE('var_b = ' || var_b); 
  79.  
  80.  
  81.    
  82.   DECLARE
  83.     var_a CHAR;  
  84.     var_c REAL;     
  85.   BEGIN
  86.     var_a:='C';
  87.     var_c:=15.50;
  88.  
  89.     
  90.     DBMS_OUTPUT.PUT_LINE('In the First sub-Block');
  91.     DBMS_OUTPUT.PUT_LINE('var_a = ' || var_a); 
  92.     DBMS_OUTPUT.PUT_LINE('var_b = ' || var_b); 
  93.     DBMS_OUTPUT.PUT_LINE('var_c = ' || var_c); 
  94.     NULL;
  95.   END;          
  96.  
  97.   
  98.   DECLARE
  99.     var_d REAL;     
  100.   BEGIN
  101.     
  102.     var_d:=20.75;
  103.     DBMS_OUTPUT.PUT_LINE('In the Second sub-Block');
  104.     DBMS_OUTPUT.PUT_LINE('var_a = ' || var_a); 
  105.     DBMS_OUTPUT.PUT_LINE('var_b = ' || var_b); 
  106.     DBMS_OUTPUT.PUT_LINE('var_d = ' || var_d); 
  107.     NULL;
  108.   END;         
  109.  
  110.  
  111. DBMS_OUTPUT.PUT_LINE('At the end in the  Outer-Block');
  112. DBMS_OUTPUT.PUT_LINE('var_a = ' || var_a); 
  113. DBMS_OUTPUT.PUT_LINE('var_b = ' || var_b); 
  114. END;          
  115. 9.Write a PL/SQL block to show a valid case-insensitive reference to a quoted and without quoted user-defined identifier.
  116. --QUOTED USER-IDENTIFIER
  117. DECLARE
  118.     "HELLO" varchar2(10) :='Hello';
  119. BEGIN
  120.     dbms_output.put_line("HELLO");
  121. END;
  122. --WITHOUT QUOTED USER-IDENTIFIER
  123. DECLARE
  124.     HELLO varchar2(10) :='Hello';
  125. BEGIN
  126.     dbms_output.put_line(HELLO);
  127. END;
  128. 10. Write a PL/SQL block to adjust the salary of the employee whose ID 122.
  129. DECLARE
  130.     v_emplSalary Number(8,2);
  131.     
  132.     PROCEDURE adjust_salary(
  133.         employee_salary  IN OUT NUMBER,
  134.         adjust NUMBER
  135.     ) IS
  136. BEGIN
  137.     employee_salary :=employee_salary + adjust;
  138. END;
  139.  
  140. BEGIN
  141.   SELECT salary INTO v_emplSalary
  142.   FROM employees
  143.   WHERE employee_id = 122;
  144.  
  145.   DBMS_OUTPUT.PUT_LINE
  146.    ('Before invoking procedure, v_emplSalary: ' || v_emplSalary);
  147.  
  148.   adjust_salary (v_emplSalary, 1000);
  149.  
  150.   DBMS_OUTPUT.PUT_LINE
  151.    ('After invoking procedure, adjust_salary: ' || v_emplSalary);
  152. END;
  153.  

Editor

You can edit this paste and save as new:


File Description
  • PL SQL
  • Paste Code
  • 23 Jun-2021
  • 4.12 Kb
You can Share it: