1 like 0 dislike
116 views
in Bilgi Teknolojileri by
PL SQL prosedur yazımında select into return ile nasıl kullanılır ?

1 Answer

0 like 0 dislike
by anonymous Bilge (165k points)
Örnek bir prosedur aşağıdaki gibi olabilir. TC numarası alıyor ve eğer veritabanında bu numaradan oluşan bir satır varsa, sonucu var ya da yok şeklinde  result değişkenine atıyor.

create or replace PROCEDURE CHECKNUMBER(L_TC_NUMBER IN VARCHAR2 , L_RESULT OUT VARCHAR2 ) AS
L_COUNT COMPANY_EMP_TAB.PERSON_ID%TYPE;
BEGIN
  SELECT COUNT(*) INTO L_COUNT FROM COMPANY_EMP_TAB ce WHERE ce.PERSON_ID=L_TC_NUMBER;
        IF(L_COUNT>0) THEN
        L_RESULT := 'VAR';
        ELSE
        L_RESULT:='YOK';
        END IF;
END CHECKNUMBER;
by anonymous Bilge (165k points)
Yukarıdaki fonksiyonun java tarafı ise  aşağıdaki gibi olur.

 public boolean checkNumber(String tcNumber) {
        // tcNumber alıyor ve  bu numaraya göre  oracle tarafında sorgulama yapıyor.
        boolean returnValue =false;
        System.out.println("...Start...");
        
        conn = DBConnection.getConnection();
        strCall = new StringBuffer();
        strCall.append("{call checkNumber(?,?)}");
        try {
            stmt = conn.prepareCall(strCall.toString());
            stmt.setString("L_TC_NUMBER", "12312312312");
            stmt.registerOutParameter("L_RESULT", java.sql.Types.VARCHAR);
            stmt.executeQuery();
        } catch (SQLException e) {
            System.out.println("s : " + e.toString());
        } finally {
            try {
                // 3 param, id , name, result
                System.out.println("Coming Data : " + stmt.getString("L_RESULT"));
                if(stmt.getString("L_RESULT").equals("VAR"))
                {
                    returnValue=true;
                }
                stmt.close();
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        return returnValue;
    }
...