Advertisement
tzoonami

Untitled

Nov 28th, 2013
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 7.36 KB | None | 0 0
  1. INSERT INTO zipcodes VALUES (22301, 'Alexandria');
  2. INSERT INTO zipcodes VALUES (33655, 'Tampa');
  3. INSERT INTO zipcodes VALUES (39200, 'Jackson');
  4. INSERT INTO zipcodes VALUES (45601, 'Chillicothe');
  5. INSERT INTO zipcodes VALUES (79201, 'Childress');
  6. INSERT INTO employees VALUES (1003, 'Blake', 39200, '05-MAR-93');
  7. INSERT INTO employees VALUES (1004, 'Buell', 22301, '19-JUN-91');
  8. INSERT INTO employees VALUES (1005, 'Lloyd', 45601, '23-SEP-92');
  9. INSERT INTO employees VALUES (1006, 'Roman', 79201, '07-DEC-95');
  10. INSERT INTO employees VALUES (1007, 'Young', 33655, '31-MAY-89');
  11. INSERT INTO parts VALUES (10602, 'Titanic', 125, 13.75, 20);
  12. INSERT INTO parts VALUES (10603, 'Toy Story', 55, 10.99, 30);
  13. INSERT INTO parts VALUES (10604, 'Scream', 160, 19.99, 40);
  14. INSERT INTO parts VALUES (10605, 'Fight Club', 205, 9.50, 20);
  15. INSERT INTO parts VALUES (10702, 'Jurassic Park', 179, 24.99, 35);
  16. INSERT INTO customers VALUES (1112, 'Alvin', '112 Sumter St.', 33655, '803-123-4567');
  17. INSERT INTO customers VALUES (1113, 'Cody', '115 Wood Rd.', 22301, '803-123-5555');
  18. INSERT INTO customers VALUES (2221, 'Esther', '223 Emory Ln.', 39200, '863-555-4567');
  19. INSERT INTO customers VALUES (2223, 'Grace', '334 Main St.', 45601, '423-111-2225');
  20. INSERT INTO customers VALUES (3330, 'Jayde', '432 River Ave.', 79201, '901-890-4567');
  21. INSERT INTO orders VALUES (1030, 1112, 1003, '11-DEC-95', '15-JAN-96');
  22. INSERT INTO orders VALUES (1024, 1113, 1007, '09-MAR-92', '11-MAR-92');
  23. INSERT INTO orders VALUES (1040, 2221, 1006, '27-FEB-91', '05-MAR-91');
  24. INSERT INTO orders VALUES (1041, 2223, 1006, '23-SEP-93', '15-OCT-96');
  25. INSERT INTO orders VALUES (1001, 3330, 1004, '13-MAY-92', '20-MAY-92');
  26. INSERT INTO odetails VALUES (1030,10702,1);
  27. INSERT INTO odetails VALUES (1024,10604,2);
  28. INSERT INTO odetails VALUES (1040,10605,3);
  29. INSERT INTO odetails VALUES (1041,10602,1);
  30. INSERT INTO odetails VALUES (1001,10602,1);
  31.  
  32.  
  33. SQL> CREATE OR REPLACE PROCEDURE
  34.   2      zipreplace(oldzip IN zipcodes.zip%TYPE, newzip IN zipcodes.zip%TYPE) IS
  35.   3  
  36.   4  oldCity zipcodes.city%TYPE;
  37.   5  
  38.   6  BEGIN
  39.   7  
  40.   8    dbms_output.put_line('Replacing old zip ' || oldzip || ' with new zip ' || newzip);
  41.   9  
  42.  10    SELECT city
  43.  11    INTO   oldCity
  44.  12    FROM   zipcodes
  45.  13    WHERE  zip = oldzip;
  46.  14  
  47.  15    INSERT INTO zipcodes
  48.  16    VALUES (newzip,oldCity);
  49.  17  
  50.  18    UPDATE employees
  51.  19    SET    zip = newzip
  52.  20    WHERE  zip = oldzip;
  53.  21  
  54.  22    UPDATE customers
  55.  23    SET    zip = newzip
  56.  24    WHERE  zip = oldzip;
  57.  25  
  58.  26    DELETE FROM zipcodes
  59.  27    WHERE  zip = oldzip;
  60.  28  END;
  61.  29  /
  62.  
  63. PROCEDURE created.
  64.  
  65.  
  66. SQL> EXEC zipreplace(67227,67226);
  67. Replacing OLD zip 67227 WITH NEW zip 67226                                      
  68.  
  69. PL/SQL PROCEDURE successfully completed.
  70.  
  71. SQL> SELECT * FROM customers;
  72.  
  73.        CNO CNAME                          STREET                                
  74. ---------- ------------------------------ ------------------------------        
  75.        ZIP PHONE                                                                
  76. ---------- ------------                                                        
  77.       1111 Charles                        123 Main St.                          
  78.      67226 316-636-5555                                                        
  79.                                                                                
  80.       2222 Bertram                        237 Ash Ave.                          
  81.      67226 316-689-5555                                                        
  82.                                                                                
  83.       3333 Barbara                        111 Inwood St.                        
  84.      60606 316-111-1234                                                        
  85.                                                                                
  86.  
  87.        CNO CNAME                          STREET                                
  88. ---------- ------------------------------ ------------------------------        
  89.        ZIP PHONE                                                                
  90. ---------- ------------                                                        
  91.       1112 Alvin                          112 Sumter St.                        
  92.      33655 803-123-4567                                                        
  93.                                                                                
  94.       1113 Cody                           115 Wood Rd.                          
  95.      22301 803-123-5555                                                        
  96.                                                                                
  97.       2221 Esther                         223 Emory Ln.                        
  98.      39200 863-555-4567                                                        
  99.                                                                                
  100.  
  101.        CNO CNAME                          STREET                                
  102. ---------- ------------------------------ ------------------------------        
  103.        ZIP PHONE                                                                
  104. ---------- ------------                                                        
  105.       2223 Grace                          334 Main St.                          
  106.      45601 423-111-2225                                                        
  107.                                                                                
  108.       3330 Jayde                          432 River Ave.                        
  109.      79201 901-890-4567                                                        
  110.                                                                                
  111.  
  112. 8 ROWS selected.
  113.  
  114. SQL> SELECT * FROM employees;
  115.  
  116.        ENO ENAME                                 ZIP HDATE                      
  117. ---------- ------------------------------ ---------- ---------                  
  118.       1000 Jones                               67226 12-DEC-95                  
  119.       1001 Smith                               60606 01-JAN-92                  
  120.       1002 Brown                               50302 01-SEP-94                  
  121.       1003 Blake                               39200 05-MAR-93                  
  122.       1004 Buell                               22301 19-JUN-91                  
  123.       1005 Lloyd                               45601 23-SEP-92                  
  124.       1006 Roman                               79201 07-DEC-95                  
  125.       1007 Young                               33655 31-MAY-89                  
  126.  
  127. 8 ROWS selected.
  128.  
  129. SQL> host cat areacode.SQL
  130. ACCEPT areacode PROMPT 'Enter an area code > '
  131.  
  132. DECLARE
  133.   cursor c IS
  134.     SELECT cname,street
  135.         FROM customers
  136.         WHERE phone
  137.         LIKE '&areacode' || '-%';
  138.   cust c%ROWTYPE;
  139.  
  140. BEGIN
  141.   OPEN c;
  142.   LOOP
  143.     FETCH c INTO cust;
  144.         EXIT WHEN c%NOTFOUND;
  145.         dbms_output.put_line(cust.cname || ' ' || cust.street);
  146.   END LOOP;
  147.   CLOSE c;
  148. END;
  149. /
  150.  
  151. SQL> START areacode
  152. Enter an area code > 316
  153. OLD   6:    LIKE '&areacode' || '-%';
  154. NEW   6:    LIKE '316' || '-%';
  155. Charles 123 Main St.                                                            
  156. Bertram 237 Ash Ave.                                                            
  157. Barbara 111 Inwood St.                                                          
  158.  
  159. PL/SQL PROCEDURE successfully completed.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement