public static void showProcedureNameList() {
		Connection connection = null;
		ResultSet resultSet = null;
		try {
			Class.forName(className);
			connection = DriverManager.getConnection(url, user, password);
			resultSet = connection.getMetaData().getProcedures(null, connection.getMetaData().getUserName(), null);
			ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
			while (resultSet.next()) {
				if (resultSet.getInt(8) == 1) { ⁄⁄ StoredProcedure
					System.out.println("Procedure Name : " + resultSet.getString(3));
				} 
				for (int i = 1; i < resultSetMetaData.getColumnCount(); i++) {
					System.out.println("\t" + i + ". ColumnName : " + resultSetMetaData.getColumnName(i));
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				if (resultSet != null) {
					resultSet.close();
				}
				
				if (connection != null) {
					connection.close();
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}


ResultSetMetaData 정보를 통하여 8번째 인덱스값이 프로시저 타입을 가져오는 인덱스인걸 알수가 잇습니다. 

프로시저같은경우에는 타입이 1번이 되겠고 함수는 2번이 되겠습니다.

블로그 이미지

행복그리고..

,