A. java中的sql語句
是的,用的是oracle的序列,oracle特有的序列 SEQUENCE 。
在oracle中sequence就是所謂的序列號,每次取的時候它會自動增加,一般用在需要按序列號排序的地方。
1、Create Sequence
你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE許可權,
CREATE SEQUENCE emp_sequence
INCREMENT BY 1 -- 每次加幾個
START WITH 1 -- 從1開始計數
NOMAXVALUE -- 不設置最大值
NOCYCLE -- 一直累加,不循環
CACHE 10;
一旦定義了emp_sequence,你就可以用CURRVAL,NEXTVAL
CURRVAL=返回 sequence的當前值
NEXTVAL=增加sequence的值,然後返回 sequence 值
比如:
emp_sequence.CURRVAL
emp_sequence.NEXTVAL
可以使用sequence的地方:
- 不包含子查詢、snapshot、VIEW的 SELECT 語句
- INSERT語句的子查詢中
- NSERT語句的VALUES中
- UPDATE 的 SET中
可以看如下例子:
INSERT INTO emp VALUES
(empseq.nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20);
SELECT empseq.currval FROM DUAL;
但是要注意的是:
- 第一次NEXTVAL返回的是初始值;隨後的NEXTVAL會自動增加你定義的INCREMENT BY值,然後返回增加後的值。CURRVAL 總是返回當前SEQUENCE的值,但是在第一次NEXTVAL初始化之後才能使用CURRVAL,否則會出錯。一次NEXTVAL會增加一次SEQUENCE的值,所以如果你在同一個語句裡面使用多個NEXTVAL,其值就是不一樣的。明白?
- 如果指定CACHE值,ORACLE就可以預先在內存裡面放置一些sequence,這樣存取的快些。cache裡面的取完後,oracle自動再取一組到cache。 使用cache或許會跳號, 比如資料庫突然不正常down掉(shutdown abort),cache中的sequence就會丟失. 所以可以在create sequence的時候用nocache防止這種情況。
2、Alter Sequence
你或者是該sequence的owner,或者有ALTER ANY SEQUENCE 許可權才能改動sequence. 可以alter除start至以外的所有sequence參數.如果想要改變start值,必須 drop sequence 再 re-create .
Alter sequence 的例子
ALTER SEQUENCE emp_sequence
INCREMENT BY 10
MAXVALUE 10000
CYCLE -- 到10000後從頭開始
NOCACHE ;
影響Sequence的初始化參數:
SEQUENCE_CACHE_ENTRIES =設置能同時被cache的sequence數目。
可以很簡單的Drop Sequence
DROP SEQUENCE order_seq;
B. java 中的sql語句
if(key!=null){
key = new String(key.getBytes("iso8859-1"),"gb2312");
}
用過這句再調用查詢
C. Java語言中sql語句
import java.sql.* ;
public class testDB
{
public static void main(String []args)
{
String DBDRIVER = "sun.jdbc.odbc.JdbcOdbcDriver";
String DBURL = "jdbc:odbc:ttt";
String sql = "CREATE TABLE aTable(colum1 varchar(20) ,colum2 integer);" ;
PreparedStatement pstmt = null ;
Connection conn = null ;
try
{
Class.forName(DBDRIVER) ;
conn = DriverManager.getConnection(DBURL) ;
pstmt = conn.prepareStatement(sql) ;
pstmt.execute() ;
pstmt.close() ;
conn.close() ;
}
catch (Exception e)
{}
}
};
D. java 中編寫SqL語句
在數據外面賦值,一般傳入資料庫的語句都是完整的。這句話是是查詢開頭幾條數據的,也就是說number只能是Int類型,表示需要查詢開頭幾條數據。#號不需要。
E. 在java中的sql語句,能幫我解釋一下么
這是一條查詢條件查詢語句,拼接起來的sql,查詢出center表中的所有欄位,只是把center表中的depart_id換成了depart表中對應的depart_name,condition那部分是個模糊查詢, 字元串的前面幾位等於變數depart,就可以查出來
F. java中怎麼執行sql語句
使用jdbc 建立資料庫的連接,然後使用相關方法就可以執行sql;
G. java sql語句
題意表達不是很清楚,我就按照我的理解建了三張表如下(sql語句在最後面):
t_user
userid | sex
1 | 0
2 | 1
3 | 0
4 | 1
5 | 0
6 | 1
t_epm
epmid | userid
1 | 1
1 | 3
1 | 5
2 | 2
2 | 4
2 | 6
t_deposit (存款表)
epmid | deposit
1 | 3500
2 | 4000
select
u.sex,
sum(d.deposit)
from
t_user u join t_epm e on u.userid=e.userid
join t_deposit d on e.epmid=d.epmid
group by u.sex;
H. 怎樣在java程序中執行 SQL 語句
用戶名,號碼,性別,email都是字元型的吧
String
sql="insert
into
mysql.會員表(name,number,sex,email)
values
('"+username+"','"+password+"','"+sex+"','"+email+"')";
剛才說錯了,是雙引號在單引號里邊
I. 在java 語句怎麼寫sql語句
1)消除SQL語句前後的空白,將其中的連續空白字元(包括空格,TAB和回車換行)替換成單個空格;
2)將sql語句全變成小寫形式(或大寫形式);
3)在SQL語句的尾後加上結束符號「ENDOFSQL」。
J. 如何用java語言中如何執行sql查詢語句
使用jdbc技術,首先導入連接資料庫的jar包,聲明載入的類名,獲取連接,進行查詢,如:
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "tiger");
Statement sta = conn.createStatement();
ResultSet rs = sta.executeQuery("select * from tablename");