blob: 46df21cb1bd03bb0fe61a2f410f24275962788e1 [file] [log] [blame]
// The ADJUSTSALARY procedure accepts an employee number and a percentage
// value and updates the employee's salary in the database based on that
// percentage. This method also returns the updated salary to an output
// parameter.
//
// See http://trafodion.apache.org/docs/spj_guide/index.html#adjustsalary-procedure
// for more documentation.
public static void adjustSalary( BigDecimal empNum
, double percent
, BigDecimal[] newSalary
) throws SQLException
{
Connection conn =
DriverManager.getConnection( "jdbc:default:connection" ) ;
PreparedStatement setSalary =
conn.prepareStatement( "UPDATE trafodion.persnl.employee "
+ "SET salary = salary * (1 + (? / 100)) "
+ "WHERE empnum = ?"
) ;
PreparedStatement getSalary =
conn.prepareStatement( "SELECT salary "
+ "FROM trafodion.persnl.employee "
+ "WHERE empnum = ?"
) ;
setSalary.setDouble( 1, percent ) ;
setSalary.setBigDecimal( 2, empNum ) ;
setSalary.executeUpdate() ;
getSalary.setBigDecimal( 1, empNum ) ;
ResultSet rs = getSalary.executeQuery() ;
rs.next() ;
newSalary[0] = rs.getBigDecimal( 1 ) ;
rs.close() ;
conn.close() ;
}