Advertisement
CastelShal

DBMS tsql2

Sep 15th, 2023 (edited)
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.53 KB | None | 0 0
  1. create table employee(
  2.     empno int primary key,
  3.     fname varchar(30),
  4.     sal int,
  5.     tax int
  6. );
  7.  
  8. insert into employee values(100,'Alethea',75000,0);
  9. insert into employee values(101,'Tamanna',45000,0);
  10. select * from employee
  11.    
  12. create or replace procedure taxi(eno in int)
  13. as
  14. sal number(9);
  15. taxes int;
  16. begin
  17.     select sal into sal from employee where empno = eno;
  18.     sal := sal * 12;
  19.     if sal <= 700000 then
  20.         taxes := 0;
  21.     elsif sal <= 150000 then
  22.         taxes := (sal - 700000) * 0.1;
  23.     elsif sal <= 200000 then
  24.         taxes := (sal - 700000) * 0.2;
  25.     else
  26.         taxes := (sal - 700000) * 0.3;
  27.     end if;
  28.     update employee set tax = taxes where empno = eno;
  29. end taxi;
  30. /
  31.  
  32. exec taxi(100)
  33.  
  34. ------------------------------------ Products------------------------------
  35.  
  36. create table salesreps(empno int primary key, sales_amount number(6))
  37. create table product(pid int primary key, qty int, rate int);
  38. create table orders(orderno int primary key, empno int, pid int, qty_ordered int, amount int)
  39.  
  40. create or replace trigger t1
  41. after insert
  42. on orders
  43. for each row
  44. begin
  45. update product set qty = qty - :new.qty_ordered
  46.     where pid =: new.pid;
  47. update salesreps set sales_amount = sales_amount + :new.amount where empno =: new.empno;
  48. end t1;
  49. /
  50.  
  51. insert into product values (200, 50, 200)
  52. insert into product values (201, 30, 500)
  53. insert into product values (202, 20, 800)
  54.  
  55. insert into salesreps values (10,0)
  56. insert into salesreps values (11,0)
  57.  
  58. insert into orders values (20, 11, 201, 10, 50000)
  59. truncate table orders
  60. select * from salesreps
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement