Untitled
unknown
plain_text
2 years ago
12 kB
11
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