Untitled
unknown
plain_text
a year ago
12 kB
6
Indexable
1. public class Main { public static void main(String[] args){ Connection conn = null; String connectionString = "jdbc:oracle:thin:@//admlab2.cs.put.poznan.pl:1521/"+ "dblab03_students.cs.put.poznan.pl"; Properties connectionProps = new Properties(); connectionProps.put("user", "sbd151569"); connectionProps.put("password", "sbd151569"); try { conn = DriverManager.getConnection(connectionString, connectionProps); System.out.println("Połączono z bazą danych"); try (Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT z.nazwa, COUNT(p.id_prac) as liczba " + "FROM pracownicy p " + "JOIN zespoly z ON p.id_zesp = z.id_zesp " + "GROUP BY z.nazwa")) { int suma = 0; while (rs.next()) { suma += rs.getInt("liczba"); System.out.println(rs.getInt("liczba") + " w zespole " + rs.getString("nazwa")); } while (rs.next()) { suma += rs.getInt("liczba"); System.out.println(rs.getInt("liczba") + " w zespole " + rs.getString("nazwa")); } System.out.println("Zatrudniono " + suma + " pracowników"); } catch (SQLException ex) { System.out.println("Błąd wykonania polecenia: " + ex.getMessage()); } } catch (SQLException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, "Nie udało się połączyć z bazą danych", ex); System.exit(-1); } try { conn.close(); System.out.println("Rozłączono z bazą danych"); } catch (SQLException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, "Nie udało się połączyć z bazą danych", ex); } } } 2. public class Main { public static void main(String[] args){ Connection conn = null; String connectionString = "jdbc:oracle:thin:@//admlab2.cs.put.poznan.pl:1521/"+ "dblab03_students.cs.put.poznan.pl"; Properties connectionProps = new Properties(); connectionProps.put("user", "sbd151569"); connectionProps.put("password", "sbd151569"); try { conn = DriverManager.getConnection(connectionString, connectionProps); System.out.println("Połączono z bazą danych"); try (Statement stmt = conn.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); ResultSet rs = stmt.executeQuery("SELECT p.nazwisko, (p.placa_pod + COALESCE(p.placa_dod, 0)) as placa_calkowita " + "FROM pracownicy p " + "WHERE p.etat = 'ASYSTENT' " + "ORDER BY placa_calkowita ASC")) { rs.first(); System.out.println("Asystent, który zarabia najmniej: " + rs.getString("nazwisko") + ", zarabia " + rs.getDouble("placa_calkowita")); rs.absolute(rs.getRow() - 3); System.out.println("Trzeci najmniej zarabiający asystent: " + rs.getString("nazwisko") + ", zarabia " + rs.getDouble("placa_calkowita")); rs.last(); rs.previous(); System.out.println("Przedostatni najmniej zarabiający asystent: " + rs.getString("nazwisko") + ", zarabia " + rs.getDouble("placa_calkowita")); } catch (SQLException ex) { System.out.println("Błąd wykonania polecenia: " + ex.getMessage()); } } catch (SQLException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, "Nie udało się połączyć z bazą danych", ex); System.exit(-1); } try { conn.close(); System.out.println("Rozłączono z bazą danych"); } catch (SQLException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, "Nie udało się połączyć z bazą danych", ex); } } } 3. public class Main { public static void main(String[] args){ Connection conn = null; String connectionString = "jdbc:oracle:thin:@//admlab2.cs.put.poznan.pl:1521/"+ "dblab03_students.cs.put.poznan.pl"; Properties connectionProps = new Properties(); connectionProps.put("user", "sbd151569"); connectionProps.put("password", "sbd151569"); try { conn = DriverManager.getConnection(connectionString, connectionProps); System.out.println("Połączono z bazą danych"); Statement stmt = conn.createStatement(); int[] zwolnienia = {150, 200, 230}; String[] zatrudnienia = {"Kandefer", "Rygiel", "Boczar"}; for (int id : zwolnienia) { stmt.executeUpdate("UPDATE pracownicy SET zatrudniony = NULL WHERE id_prac = " + id); } for (String nazwisko : zatrudnienia) { stmt.executeUpdate("INSERT INTO pracownicy (id_prac, nazwisko, zatrudniony) VALUES (pracownicy_seq.NEXTVAL, '" + nazwisko + "', SYSDATE)"); } stmt.close(); } catch (SQLException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, "Nie udało się połączyć z bazą danych", ex); System.exit(-1); } try { conn.close(); System.out.println("Rozłączono z bazą danych"); } catch (SQLException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, "Nie udało się połączyć z bazą danych", ex); } } } 4. conn.setAutoCommit(false); try(Statement stmt= conn.createStatement(); ResultSet rs= stmt.executeQuery( "SELECT NAZWA, PLACA_MIN, PLACA_MAX” + “FROM ETATY");) { while(rs.next()) { System.out.println(rs.getString(1) + " "+ rs.getFloat(2) + " "+ rs.getFloat(3)); } stmt.executeUpdate("INSERT INTO ETATY (NAZWA, PLACA_MIN, PLACA_MAX) VALUES ('OPERATOR', 500, 800)"); } catch(SQLException ex) { System.out.println("Błąd wykonania polecenia: "+ ex.getMessage()); } try(Statement stmt= conn.createStatement(); ResultSet rs= stmt.executeQuery( "SELECT NAZWA, PLACA_MIN, PLACA_MAX” + “FROM ETATY");) { while(rs.next()) { System.out.println(rs.getString(1) + " "+ rs.getFloat(2) + " "+ rs.getFloat(3)); } } catch(SQLException ex) { System.out.println("Błąd wykonania: "+ ex.getMessage()); } conn.rollback(); try(Statement stmt= conn.createStatement(); ResultSet rs= stmt.executeQuery( "select nazwa, placa_min, placa_max " + "from etaty");) { while(rs.next()) { System.out.println(rs.getString(1) + " "+ rs.getFloat(2) + " "+ rs.getFloat(3)); stmt.executeUpdate("INSERT INTO ETATY (NAZWA, PLACA_MIN, PLACA_MAX) VALUES ('OPERATOR', 500, 800)"); } } catch(SQLException ex) { System.out.println("Błąd wykonania polecenia: "+ ex.getMessage()); } conn.commit(); try(Statement stmt= conn.createStatement(); ResultSet rs= stmt.executeQuery( "select nazwa, placa_min, placa_max " + "from etaty");) { while(rs.next()) { System.out.println(rs.getString(1) + " "+ rs.getFloat(2) + " "+ rs.getFloat(3)); } } catch(SQLException ex) { System.out.println("Błąd wykonania polecenia: "+ ex.getMessage()); } 5. String [] nazwiska={"Woźniak", "Dąbrowski", "Kozłowski"}; int [] place={1300, 1700, 1500}; String []etaty={"ASYSTENT", "PROFESOR", "ADIUNKT"}; PreparedStatement pstmt = null; try { pstmt = conn.prepareStatement( "INSERT INTO pracownicy(id_prac, nazwisko, placa_pod, etat) VALUES ((SELECT MAX(id_prac)+1 FROM pracownicy), ?, ?, ?)"); } catch (SQLException ex) { System.out.println("Blad wykonania polecenia prepareStatement: "+ ex.getMessage()); } for (int i=0; i<nazwiska.length; i++) { try { pstmt.setString(1, nazwiska[i]); pstmt.setInt(2, place[i]); pstmt.setString(3, etaty[i]); pstmt.executeUpdate(); } catch (SQLException ex) { System.out.println("Blad wykonania polecenia executeUpdate: "+ ex.getMessage()); } } 6. try{ conn.setAutoCommit(false); } catch(SQLException ex) { System.out.println("Blad wykonania polecenia setAutocommit: "+ ex.getMessage()); } String prac = "pracNum"; PreparedStatement pstmt = null; try { pstmt = conn.prepareStatement( "INSERT INTO pracownicy(id_prac, nazwisko, placa_pod, etat) VALUES (?, ?, ?, ?)"); } catch (SQLException ex) { System.out.println("Blad wykonania polecenia prepareStatement: "+ ex.getMessage()); } long start = System.nanoTime(); for (int i=190000; i<192000; i++) { try { pstmt.setInt(1, i); pstmt.setString(2, prac + i ); pstmt.setInt(3, 1000); pstmt.setString(4, "ASYSTENT"); pstmt.executeUpdate(); } catch (SQLException ex) { System.out.println("Blad wykonania polecenia loopa1: "+ ex.getMessage()); } } long czas = System.nanoTime() - start; System.out.println("Czas wykonania bez batch: " + czas/1000000 + "ms"); start = System.nanoTime(); for (int i=192000; i<194000; i++) { try { pstmt.setInt(1, i); pstmt.setString(2, prac + i ); pstmt.setInt(3, 1000); pstmt.setString(4, "ASYSTENT"); pstmt.addBatch(); } catch (SQLException ex) { System.out.println("Blad wykonania polecenia loopa2: "+ ex.getMessage()); } } try { pstmt.executeBatch(); } catch (SQLException ex) { System.out.println("Blad wykonania polecenia executeBatch: "+ ex.getMessage()); } czas = System.nanoTime() - start; System.out.println("Czas wykonania z batch: " + czas/1000000 + "ms"); try { conn.rollback(); } catch(SQLException ex) { System.out.println("Blad wykonania polecenia rollback: "+ ex.getMessage()); } 7. CREATE OR REPLACE FUNCTION CaplitalizeSurname(p_id_prac IN NUMBER, p_nazwisko OUT VARCHAR2 ) RETURN number IS BEGIN SELECT nazwisko INTO p_nazwisko FROM pracownicy WHERE id_prac=p_id_prac; UPDATE pracownicy SET nazwisko=INITCAP(nazwisko) WHERE id_prac=p_id_prac; p_nazwisko:=INITCAP(p_nazwisko); RETURN 1; EXCEPTION WHEN OTHERS THEN RETURN 0; END; */ try (CallableStatement stmt = conn.prepareCall( "{? = call CaplitalizeSurname(?, ?)}")) { stmt.registerOutParameter(1, Types.INTEGER); stmt.setInt(2, 300); stmt.registerOutParameter(3, Types.VARCHAR); stmt.execute(); System.out.println("Zwrocono: " + stmt.getInt(1)); System.out.println("Nazwisko: " + stmt.getString(3)); } catch (SQLException ex) { System.out.println("Blad wykonania prepareCall: "+ ex.getMessage()); }
Editor is loading...
Leave a Comment