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");