Advertisement
Guest User

Untitled

a guest
Jul 29th, 2015
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. create or replace function trigf1() returns trigger as $$
  2. begin
  3. if (ballotbox.totvoters>votes.nofvotes) then
  4. raise notice 'more voters than allowed';
  5. return old;
  6. else return new;
  7. end if;
  8. end;
  9. $$ language plpgsql;
  10.  
  11. create trigger T1
  12. Before insert or update on votes
  13. for each row
  14. execute procedure trigf1();
  15.  
  16. ERROR: missing FROM-clause entry for table "ballotbox"
  17. LINE 1: SELECT (ballotbox.totvoters > votes.nofvotes)
  18. ^
  19. QUERY: SELECT (ballotbox.totvoters > votes.nofvotes)
  20. CONTEXT: PL/pgSQL function trigf1() line 3 at IF
  21.  
  22. create table ballotBox
  23. (bno integer,
  24. cid numeric(4,0),
  25. street varchar(20),
  26. hno integer,
  27. totvoters integer,
  28. primary key (bno),
  29. foreign key (cid) references city);
  30.  
  31. create table votes
  32. (cid numeric(4,0),
  33. bno integer,
  34. pid numeric(3,0),
  35. nofvotes integer,
  36. foreign key (cid) references city,
  37. foreign key (bno) references ballotBox,
  38. foreign key (pid) references party,
  39. check (nofvotes >= 0));
  40.  
  41. insert into ballotBox values
  42. (1, 1, 'street1', 10, 1500),
  43. (2, 1, 'street2', 15, 490),
  44. (3, 1, 'street2', 15, 610),
  45. (4, 1, 'street2', 15, 650),
  46. (5, 2, 'street3', 10, 900),
  47. (6, 2, 'street3', 55, 800),
  48. (7, 2, 'street4', 67, 250),
  49. (8, 2, 'street4', 67, 990),
  50. (9, 2, 'street5', 5, 600),
  51. (10, 3, 'street1', 72, 1000),
  52. (11, 3, 'street6', 25, 610),
  53. (12, 3, 'street6', 25, 600),
  54. (13, 4, 'street2', 3, 550),
  55. (14, 4, 'street7', 15, 500),
  56. (15, 5, 'street8', 44, 1100),
  57. (16, 5, 'street9', 7, 710),
  58. (17, 5, 'street10', 13, 950);
  59.  
  60. insert into votes values
  61. (1, 1, 200, 100),
  62. (1, 1, 210, 220),
  63. (1, 1, 220, 2),
  64. (1, 1, 230, 400),
  65. (1, 1, 240, 313),
  66. (1, 1, 250, 99),
  67. (2, 1, 200, 55),
  68. (2, 1, 210, 150),
  69. (2, 1, 220, 2),
  70. (2, 1, 230, 16),
  71. (2, 1, 240, 210);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement