欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

oracle如何反向遍歷的簡單介紹

oracle中如何根據(jù)表中一個字段遍歷數(shù)據(jù)

寫個for循環(huán)就可以遍歷一遍,例如meminfo 表中有member_id 你現(xiàn)在有的id需要在meminfo 中查詢出現(xiàn)次數(shù)

創(chuàng)新互聯(lián)公司一直秉承“誠信做人,踏實做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務為基礎,以質(zhì)量求生存,以技術求發(fā)展,成交一個客戶多一個朋友!為您提供網(wǎng)站制作、成都網(wǎng)站制作、成都網(wǎng)頁設計、成都微信小程序、成都網(wǎng)站開發(fā)、成都網(wǎng)站制作、成都軟件開發(fā)、重慶APP軟件開發(fā)是成都本地專業(yè)的網(wǎng)站建設和網(wǎng)站設計公司,等你一起來見證!

declare

i number(5);

id number(15);

begin

for rec in(select member_id from meminfo) loop

if member_id=id

then i:=i+1;

end if;

end;

這樣就會遍歷一遍你的這個數(shù)據(jù)庫

oracle如何實現(xiàn)遍歷查詢?

declare

teacher_name varchar(20)------------跟teacher表中老師名字類型保持一致

cursor t_name is select teachername from teacher---------申明游標t_name為從teacher表中查詢老師名字

begin

open t_name;------打開游標t_name

loop-------開始循環(huán)(遍歷)

fetch t_name into teacher_name-------將老師名字值賦予變量teacher_name

if t_name%found-------------開始遍歷有值時插入以下數(shù)據(jù)

then

select name,count(*) into new_table

from table_teacher_student

where name=teacher_name group by name-----將一個老師名字依據(jù)條件插入新表數(shù)據(jù)

else

dmbs_output.put_line(‘完成所有工作’);---------遍歷結(jié)束時輸出完成工作

exit;

end if;

end loop;

倉促寫下以上內(nèi)容,可能部分語法報錯,思路就是這樣,很基本的一個游標使用。

如何用Oracle數(shù)據(jù)庫實現(xiàn)反向工程

用PowerDesigner逆向工程導出ORACLE數(shù)據(jù)庫表結(jié)構(gòu):1、輸入數(shù)據(jù)庫用戶名和密碼,點擊【OK】,提示【ConnectionSuccessful】則表示連接成功;2、點擊【OK】—【確定】,完成數(shù)據(jù)源添加;3、選擇菜單【Database】—【UpdateModelfromDatabase】,選擇【Usingadatasource】,點擊右側(cè)的選擇按鈕;4、選擇【ODBCmachinedatasource】,下拉菜單中選擇剛才配置好的數(shù)據(jù)源,填好登錄數(shù)據(jù)庫用戶名【UserID】和密碼【Password】,點擊【Connect】;5、點擊【確定】;6、在表格清單里選擇要導出的表,點擊【OK】;7、反向成功后的視圖;

oracle 反向查詢 字段

SELECT TABLE_NAME,COLUMN_NAME

FROM USER_TAB_COLUMNS WHERE TABLE_NAME='TMPXXX'

AND COLUMN_NAME NOT IN ('你不想要的字段')

java問題,高分懸賞?。?!

首先要有一個可以連接的數(shù)據(jù)庫,其次使用下面這個文件(流行的三種數(shù)據(jù)庫連接);另外的Main函數(shù)和類自己寫吧.sqlStr用恰當?shù)腟QL語句代替.

package db;

import java.sql.*;

//import com.mysql.jdbc.Driver;//導入MYSQL數(shù)據(jù)庫驅(qū)動

//import oracle.jdbc.driver.OracleDriver;//ORACLE的

//MSSQL的其實不用import進來也行的.但是在編譯時,必須要把這些"必需的庫"加進來.

/*下面是MYSQL的連接設置*/

/**driver name would be loaded {@link #getConnection()}*/

private final String driverName = "com.mysql.jdbc.Driver"; //要加載的驅(qū)動名稱

/**url to connect {@link #driverName}*/

private String url = "jdbc:mysql://localhost:3306/dabaseName";//連接的URL

private String user = "root";//數(shù)據(jù)庫用戶名

private String password = "123456";//數(shù)據(jù)庫登陸密碼

/*下面是ORACLE thin連接設置*/

private String driverName = "oracle.jdbc.driver.OracleDriver"; //driver name

private String url = "jdbc:oracle:thin:@//192.168.18.16:1521/databaseName";

/*對于Oracle 推薦這樣寫:jdbc:oracle:thin://192.168.18.16:1521:databaseName

private String user = "username";

private String password = "userpassword";

/*下面是SQLserver連接設置*/

private String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";

private String url = "jdbc:microsoft:sqlserver://localhost:1433;databaseName=test";

private String user = "aaa";

private String password = "123";

/*下面是通用的*/

private Connection conn = null;//

private Statement stmt = null;//

private PreparedStatement pst = null;//

private ResultSet rs = null;//

/*加載驅(qū)動*/

try{

Class.forName(driverName);//.newInstance();

com = DriverManager.getConnection(url,user,password);//獲取連接;

stmt = conn.createStatement();//

rs = stmt.executeQuery(sqlStr);//執(zhí)行一次查詢sqlStr = "select * from tablename";

stmt.executeUpdate(sqlStr);//添加,刪除,修改sqlStr = "delete from table ";

stmt.close();

conn.close();

}

catch (Exception e){

e.printStackTrace();//打印異常到后臺

}

/*****以下是一個完全的實例********************/

/**

*@(#) DbManager.java 1.00 2007/07/26

*

*Copyright (c) 2007

*

*this class is.....

*/

package query;

import java.sql.*;

//import oracle.jdbc.driver.OracleDriver;

/**

* DB Manager for Oracle

*

*@author lijm

*@version $id:2007

*@bug bug description

*@concurrency concurrency des

*@copyright 2007 des

*@example des

*/

public class DbManager

{

/**driver name would be loaded {@link #getConnection()}*/

private final String driverName = "com.mysql.jdbc.Driver"; //driver name

/**url to connect {@link #driverName}*/

private String url = "jdbc:mysql://localhost:3306/ljm2";

private String user = "root";//"together";

private String password = "123456";//"wowinmylife2005";

private Connection conn = null;

private Statement stmt = null;

private PreparedStatement pst = null;

private ResultSet rs = null;

/*************************************

**構(gòu)造函數(shù),創(chuàng)建連接和語句

*@see #getConnection()

*@throws Exception if getConnection failed

*******************************/

public DbManager() throws SQLException

{

try {

conn = getConnection();

}

catch (SQLException e)

{

System.out.println("創(chuàng)建數(shù)據(jù)庫連接失敗!");

throw e;

}

try {

stmt = conn.createStatement();

}

catch (SQLException e){

System.out.println("創(chuàng)建語句失敗");

throw e;

}

}

/****************************

**連接數(shù)據(jù)庫.

*p detail remark 1{@link #DbManager()}/p

*p detail remark 2/p

*****************************/

public Connection getConnection()

throws SQLException/*,ClassNotFoundException,java.lang.InstantiationException,java.lang.IllegalAccessException*/

{

try

{

Class.forName(driverName);//.newInstance();

return DriverManager.getConnection(url,user,password);

}

catch (ClassNotFoundException e)

{

System.out.println("加載驅(qū)動類 : " +driverName+ " 失敗!");

e.printStackTrace();

throw new SQLException("沒有找到驅(qū)動類");

}

catch (SQLException e){

System.out.println("連接數(shù)據(jù)庫失敗");

e.printStackTrace();

throw e;

}/*

catch (java.lang.InstantiationException e){

System.out.println("實例化驅(qū)動程序失敗");

throw new SQLException("實例化驅(qū)動程序失敗");

}

catch (java.lang.IllegalAccessException e){

System.out.println("實例化驅(qū)動程序失敗");

throw new SQLException("實例化驅(qū)動程序失敗");

}*/

catch (Exception e){

throw new SQLException("其它異常");

}

//return conn;

}

/**********************************

**執(zhí)行數(shù)據(jù)庫查詢

*@param sqlStr sql statement

*@return 查詢結(jié)果集

*********************************/

public ResultSet execQuery(String sqlStr) throws SQLException

{

try

{

rs = stmt.executeQuery(sqlStr);

}

catch (SQLException e)

{

System.out.println("查詢數(shù)據(jù)失敗");

e.printStackTrace();

throw e;

}

return rs;

}

/*************************

**執(zhí)行數(shù)據(jù)庫更新(插入記錄,更新記錄,刪除記錄

*@param sqlStr

**********************************/

public void execUpdate(String sqlStr) throws SQLException

{ boolean update = true;

try

{

stmt.executeUpdate(sqlStr);

//return true;

}

catch (SQLException e)

{ System.out.println("更新失敗");

e.printStackTrace();

update = false;

throw e;

}

}

/****************************

**關閉連接;釋放資源(手動).

*在程序中要記得連接的關閉,不然的話會引起很多的SQL異常

***************/

public void close()

{

try {

if (stmt != null){

stmt.close();

stmt = null;

}

conn.close();

conn = null;

}

catch (SQLException e){

System.out.println("關閉數(shù)據(jù)庫連接失敗!");

e.printStackTrace();

}

}

/**********************

**測試本文件(DbManager.java)

***************/

public static void main(String [] args){

try{

DbManager dbm = new DbManager();

ResultSet rs = dbm.execQuery("select * from req_bill_operate_table where dt_operatetime like ''");

if(rs.next()){

System.out.println("rs in not null in main");

}

dbm.close();

System.out.println("ather main try");

}

catch (SQLException e){

System.out.println("e in main :" +e.getMessage()+ "\t cause:" +e.getCause());

//e.printStackTrace();

}

//dbm.execUpdate("create table ljmmm( id number)");

}

}

或者你也可以試試以下的程序

準備工作:

1、jar包放在C:\Program Files\Java\jdk1.5.0_09\jre\lib\ext中

2、在eclipse中:項目名-屬性-java構(gòu)建路徑-添加外部jar包

/*

*本示例代碼詳細說明了如何在Java中利用JDBC直接連接到SQL Server 2000數(shù)據(jù)庫,包括使用SQl 2000驅(qū)動(三個jar包),

*以及使用SQL 2005包(一個包)的兩種情況

*/

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

import java.sql.*;

public class DBManagerSQL {

ResultSet rs;

String strurl="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=testDB";//2、SQL 2000 三個包時

//String strurl="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=testDB";//1、驅(qū)動為SQL 2005時,sqljdbc.jar

public DBManagerSQL(){}

public ResultSet getResult(String sql)

{

try{

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//2、SQL 2000三個包時

//Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); //2、驅(qū)動為SQL 2005時,sqljdbc.jar

Connection con=DriverManager.getConnection(strurl,"sa","sa");

executeUpdate、execute

con.createStatement(int resultSetType,int resultSetConcurrency)

resultSetType定義結(jié)果集類型:TYPE_FORWARD_ONLY,結(jié)果集的游標只能向前移

TYPE_SCROLL_INSENSTIVE,結(jié)果集游標可以前后移動,結(jié)果集不反映表中數(shù)據(jù)變化

TYPE_SCROLL_SENSITIVE,結(jié)果集游標可以前后移動,結(jié)果集立即反映表中數(shù)據(jù)變化

resultSetConcurrency定義結(jié)果集的更新方式:

CONCUR_UPDATABLE,可以進行更新操作

CONCUR_READ_ONLY,不可以進行更新操作

示例:反向遍歷數(shù)據(jù)表

st=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);

rs=st.executeQuery(sql);

rs.afterLast;//將游標指向結(jié)果集結(jié)束

while(rs.previous())

{

System.out.println(rs.getString(1));//此處為第一列!也可以使用列名

}

Statement stmt=con.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

//ResultSet包含符合SQL語句中條件的所有行,等價于一張表,其中有查詢所返回的列標題及相應的值。通過get方法可以訪問這些行中的數(shù)據(jù)

//ResultSet維持一個指向當前行的指針,最初指向第一行之前。通過ResultSet.next方法移動到下一行,返回值True/false

ResultSet rs=stmt.executeQuery(sql);

return rs;

}

catch(Exception e)

{

System.out.println("Exception:"+e.toString());

return null;

}

}

public boolean executeSql(String sql)

{

try

{

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

Connection conn=DriverManager.getConnection(strurl,"sa","sa");

Statement stmt=conn.createStatement();

stmt.executeUpdate(sql);

conn.commit();

return true;

}

catch(Exception e)

{

System.out.println("Exception:"+e.toString());

return false;

}

}

public static void main(String args[])

{

DBManagerSQL db=new DBManagerSQL();

ResultSet rs1=null;

try{

rs1=db.getResult("select * from student");

System.out.println("****");

while(rs1.next())

{

System.out.println(rs1.getString(1));//此處為第一列!也可以使用列名getString("sno")

//getInt()可以將指定字段以Int類型返回,其他類推

}

}

catch(SQLException e)

{

System.out.println("========================"+e.toString());

}

//***********************下為記錄的插入,刪除,更新操作****************************

String sqlstr="insert into student values('200501013','劉玲','女')"; //注意引號

// String sqlstr="delete from student where sname='劉玲'";

//String sqlstr="update student set sex='女'where sname='張三'";

db.executeSql(sqlstr);

//*********************斷開連接**************************

// 一般順序為ResultSet--Statement-- Connection

/*//示例

try{

if(rs!=null)

{rs.close();}

if(stmt!=null)

{stmt.close();}

if(conn!=null!conn.isclosed())

{conn.close();}

}

catch(SQLException e){

e.printStackTrace();

}

*/

try{

if (rs1!=null) rs1.close();

}

catch(SQLException e)

{

//System.out.println("========================"+e.toString());

e.printStackTrace();

}

}

}

實在不行下面一種也行

import java.sql.*; //導入sql庫

public class DBStu { //建一個類,類名為DBStu.

public boolean insert(String name,String sex,int num){//建一個公共的方法有boolean的返回值

Connection con = null; //初始化連接對象

PreparedStatement pstmt = null; //初始化執(zhí)行語句對象

boolean list = false; //新建boolean變量為false;

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加載連接數(shù)據(jù)庫存的驅(qū)動

} catch (ClassNotFoundException ex) { //捕獲異常

}

try {

con = DriverManager.getConnection("jdbc:odbc:dbName"); //用ODBC方法連接數(shù)據(jù)源,數(shù)據(jù)源名為dbName.

String sql = "insert into student values(?,?,?)"; //創(chuàng)建sql語句,語句意思為插入數(shù)據(jù).

pstmt = con.prepareStatement(sql); //執(zhí)行該語句.

pstmt.setString(1,name); //在語句里添加值,里面的1對應的第一個問號,由name得到的值填入

pstmt.setString(2,sex); //與上同意

pstmt.setInt(3,num); //與上同意.

int count = pstmt.executeUpdate(); //用一個整型變量來接愛更新了幾條語句.

list = (count0)?true:false; //用三元運算符判斷如果更新至少一條語句,list就為true.

} catch (SQLException ex1) { //捕獲異常

list = false; //如果有異常則為假

}finally{

try {

pstmt.close(); //關閉執(zhí)行語句

con.close(); //關閉連接語句

} catch (SQLException ex2) { //捕獲異常

}

}

return list; //返回它的值,如果為真,則這個方法插入數(shù)據(jù)成功了.

}

}

下面是理論

..........完全是代碼啊

第一步:在構(gòu)造函數(shù)里面使用Class.forName加載驅(qū)動

第二步:在構(gòu)造函數(shù)中使用DriverManager.getConnection(地址,用戶,密碼)得到鏈接。

第三步:得到預編譯對象PreparedStatement ps = conn.createPreparedStatement ();

第四步:得到結(jié)果集ResuletSet rs = ps.executeQuely(SQL語句)

或者是添加,修改,刪除 boolean b = ps.executeUpdata(SQL語句)

建議你開一下jdbc的書籍,你會明白為什么這么做的,理解了問題就簡單了,好多的事情IDE可以做,知道原理就可以了

首先要知道JAVA里面3個操作數(shù)據(jù)庫的接口

CONNECTION STATEMENT REAULTSET

然后用Class.forName加載驅(qū)動

用Drivermanager.getConnection();建立連接

然后用CONNECTION的對象 createStatement();

然后就可以用得到的Statement對象去執(zhí)行SQL語句了

本文題目:oracle如何反向遍歷的簡單介紹
本文鏈接:http://chinadenli.net/article40/dsdgjho.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設計公司、外貿(mào)網(wǎng)站建設、標簽優(yōu)化、網(wǎng)站設計公司企業(yè)建站、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設計公司