ps_10nestset.result
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:2k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. drop table if exists t1;
  2. create table t1  (
  3. id     INTEGER AUTO_INCREMENT PRIMARY KEY,
  4. emp    CHAR(10) NOT NULL,
  5. salary DECIMAL(6,2) NOT NULL,
  6. l INTEGER NOT NULL,
  7. r INTEGER NOT NULL);
  8. prepare st_ins from 'insert into t1 set emp = ?, salary = ?, l = ?, r = ?';
  9. set @arg_nam= 'Jerry';
  10. set @arg_sal= 1000;
  11. set @arg_l= 1;
  12. set @arg_r= 12;
  13. execute st_ins using @arg_nam, @arg_sal, @arg_l, @arg_r ;
  14. set @arg_nam= 'Bert';
  15. set @arg_sal=  900;
  16. set @arg_l= 2;
  17. set @arg_r=  3;
  18. execute st_ins using @arg_nam, @arg_sal, @arg_l, @arg_r ;
  19. set @arg_nam= 'Chuck';
  20. set @arg_sal=  900;
  21. set @arg_l= 4;
  22. set @arg_r= 11;
  23. execute st_ins using @arg_nam, @arg_sal, @arg_l, @arg_r ;
  24. set @arg_nam= 'Donna';
  25. set @arg_sal=  800;
  26. set @arg_l= 5;
  27. set @arg_r=  6;
  28. execute st_ins using @arg_nam, @arg_sal, @arg_l, @arg_r ;
  29. set @arg_nam= 'Eddie';
  30. set @arg_sal=  700;
  31. set @arg_l= 7;
  32. set @arg_r=  8;
  33. execute st_ins using @arg_nam, @arg_sal, @arg_l, @arg_r ;
  34. set @arg_nam= 'Fred';
  35. set @arg_sal=  600;
  36. set @arg_l= 9;
  37. set @arg_r= 10;
  38. execute st_ins using @arg_nam, @arg_sal, @arg_l, @arg_r ;
  39. select * from t1;
  40. id emp salary l r
  41. 1 Jerry 1000.00 1 12
  42. 2 Bert 900.00 2 3
  43. 3 Chuck 900.00 4 11
  44. 4 Donna 800.00 5 6
  45. 5 Eddie 700.00 7 8
  46. 6 Fred 600.00 9 10
  47. prepare st_raise_base from 'update t1 set salary = salary * ( 1 + ? ) where r - l = 1';
  48. prepare st_raise_mgr  from 'update t1 set salary = salary + ? where r - l > 1';
  49. set @arg_percent= .10;
  50. set @arg_amount= 100;
  51. execute st_raise_base using @arg_percent;
  52. execute st_raise_mgr  using @arg_amount;
  53. execute st_raise_base using @arg_percent;
  54. execute st_raise_mgr  using @arg_amount;
  55. execute st_raise_base using @arg_percent;
  56. execute st_raise_mgr  using @arg_amount;
  57. select * from t1;
  58. id emp salary l r
  59. 1 Jerry 1300.00 1 12
  60. 2 Bert 1197.90 2 3
  61. 3 Chuck 1200.00 4 11
  62. 4 Donna 1064.80 5 6
  63. 5 Eddie 931.70 7 8
  64. 6 Fred 798.60 9 10
  65. prepare st_round from 'update t1 set salary = salary + ? - ( salary MOD ? )';
  66. set @arg_round= 50;
  67. execute st_round using @arg_round, @arg_round;
  68. select * from t1;
  69. id emp salary l r
  70. 1 Jerry 1350.00 1 12
  71. 2 Bert 1200.00 2 3
  72. 3 Chuck 1250.00 4 11
  73. 4 Donna 1100.00 5 6
  74. 5 Eddie 950.00 7 8
  75. 6 Fred 800.00 9 10
  76. drop table t1;