存储过程—删除表
这两天一直在弄存储过程,稍微有点头绪,记录一下以备后用。
判断表是否存在,存在则将其删除。
CREATE OR REPLACE PROCEDURE PROC_DROPTABLE(reportName in varchar2) AS v_tablename varchar(200); BEGIN SELECT table_name INTO v_tablename FROM all_tables WHERE table_name = reportName; IF v_tablename IS NOT NULL THEN EXECUTE IMMEDIATE 'drop table ' || reportName; COMMIT; END IF; EXCEPTION WHEN OTHERS THEN ROLLBACK; RETURN; END;
在JAVA中用JDBCTemplate调用:
String sql = "{call PROC_DROPTABLE(?)}";
getJdbcTemplate().execute(sql, new CallableStatementCallback() {
        @Override
        public Object doInCallableStatement(java.sql.CallableStatement cs) throws SQLException,
                        DataAccessException {
                cs.setString(1, tableName);
                cs.execute();
                return null;
        }
});
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号