最近做一个项目,说起来比较恶,是从另一个表中读取数据送到这个表中.而且要用触发器循环这些内容再发出去.
可是如果这个数据量很大的话,会一下子挂死.所以就想到了.能不能,每次我传一点,隔几秒再送一点.
下面是一个简单的例子
declare @i int
set @i=1
while @i<101
begin
insert into Cname ([name],csex,Number) values('aaaaaa','1',@i)
set @i=@i+1
if @i%10=0
waitfor DELAY '000:00:30'
end
这里用到了waitfor DELAY ......
Last login: Mon Feb 8 14:13:19 2010 from 192.168.1.249
ipnet
-bash-3.00$
-bash-3.00$ ipnet
-bash: ipnet: command not found
-bash-3.00$ su - oracle
Password:
eastcsu: incorrect password
-bash-3.00$ eastcom
-bash: eastcom: command not found
-bash-3.00$ su - oracle
Password:
[oracle@ipnet-td2 ~]$
[oracle@ipnet-td2 ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Feb 8 14:14:08 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> su^H^H^H
SP2-0042: unknown command " - rest of line ignored.
SQL> conn ipnet/ipnet1234@ORAC^H^H^H
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
SQL> ^[[A^H " - rest of line ignored.
SQL> 042: unknown command "
SQL> conn ipnet/ipnet1234@ORCL
Connected.
SQL> set timn^H
SP2-0158: unknown SET option "tim"
SQL> set timing on
SQL> set autot traceonly
SQL> sel ......
Last login: Mon Feb 8 14:13:19 2010 from 192.168.1.249
ipnet
-bash-3.00$
-bash-3.00$ ipnet
-bash: ipnet: command not found
-bash-3.00$ su - oracle
Password:
eastcsu: incorrect password
-bash-3.00$ eastcom
-bash: eastcom: command not found
-bash-3.00$ su - oracle
Password:
[oracle@ipnet-td2 ~]$
[oracle@ipnet-td2 ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Feb 8 14:14:08 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> su^H^H^H
SP2-0042: unknown command " - rest of line ignored.
SQL> conn ipnet/ipnet1234@ORAC^H^H^H
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
SQL> ^[[A^H " - rest of line ignored.
SQL> 042: unknown command "
SQL> conn ipnet/ipnet1234@ORCL
Connected.
SQL> set timn^H
SP2-0158: unknown SET option "tim"
SQL> set timing on
SQL> set autot traceonly
SQL> sel ......
具体实现如下:
SQL> select count(*) from v$session #连接数
SQL> Select count(*) from v$session where status='ACTIVE' #并发连接数
SQL> show parameter processes #最大连接
SQL> alter system set processes = value scope = spfile;重启数据库 #修改连接 ......
具体实现如下:
SQL> select count(*) from v$session #连接数
SQL> Select count(*) from v$session where status='ACTIVE' #并发连接数
SQL> show parameter processes #最大连接
SQL> alter system set processes = value scope = spfile;重启数据库 #修改连接 ......
SQL常用分页的办法:
表中主键必须为标识列,[ID] int IDENTITY (1,1)
1.分页方案一:(利用Not In和SELECT TOP分页)
语句形式:
SELECT TOP 页记录数量 *
from 表名
WHERE (ID NOT IN
(SELECT TOP (每页行数*(页数-1)) ID
from 表名
ORDER BY ID))
ORDER BY ID
//自己还可以加上一些查询条件
例:
select top 2 *
from Sys_Material_Type
where (MT_ID not in
(select top (2*(3-1)) MT_ID from Sys_Material_Type order by MT_ID))
order by MT_ID
2.分页方案二:(利用ID大于多少和SELECT TOP分页)
语句形式:
SELECT TOP 每页记录数量 *
from 表名
WHERE (ID >
(SELECT MAX(id)
from (SELECT TOP 每页行数*页数 id from 表
ORDER BY id) AS T)
)
ORDER BY ID
例:
SELECT TOP 2 *
from Sys_Material_Type
WHERE (MT_ID >
(SELECT MAX(MT_ID)
from ......
1、在数据库建表的时候字段直接设置为DATETIME类型;
2、执行插入的时候使用如下语句:
PreparedStatement pstmt = conn.prepareStatement("insert into guestbook(gst_user,gst_title,gst_content,gst_ip,gst_time) values(?,?,?,?,getdate())");
3、要把日期从数据库中取出,执行如下语句:
Timestamp ts = rs.getTimestamp("gst_time");
long lms = ts.getTime();
Date date = new Date(lms);
Time time = new Time(lms);
最终就可以直接使用date和time了。
out.println("留言时间:" + date + " " + time); ......
1、在数据库建表的时候字段直接设置为DATETIME类型;
2、执行插入的时候使用如下语句:
PreparedStatement pstmt = conn.prepareStatement("insert into guestbook(gst_user,gst_title,gst_content,gst_ip,gst_time) values(?,?,?,?,getdate())");
3、要把日期从数据库中取出,执行如下语句:
Timestamp ts = rs.getTimestamp("gst_time");
long lms = ts.getTime();
Date date = new Date(lms);
Time time = new Time(lms);
最终就可以直接使用date和time了。
out.println("留言时间:" + date + " " + time); ......
MS SQL Server2000 数据源配置
(注:sqljdbc.jar下载不到的话,找我索取pengqinghui110@126.com)
1、在项目的WebRoot下的META-INF中新建context.xml文件。内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/sqlserver"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433"
username="sa"
password="123456"
maxActive="20"
maxIdle="10"
maxWait="-1" />
</Context>
2、往项目下的web.xml中新增如下代码:
<resource-ref>
<res-ref-name>jdbc/sqlserver</res-ref-name>
  ......