易截截图软件、单文件、免安装、纯绿色、仅160KB

内联 SQL PL(Inline SQL PL)

----start
    通常SQL PL只能使用在存储过程、触发器、用户自定义函数中,但是有一部分SQL PL也可以直接在命令行编辑器或脚本中使用,它们是:
DECLARE <variable>
SET
CASE
FOR
GET DIAGNOSTICS
GOTO
IF
RETURN
SIGNAL
WHILE
ITERATE
LEAVE 
以下SQL PL不能直接在命令行编辑器或脚本中使用,它们只能在存储过程、触发器、用户自定义函数中使用:
ALLOCATE CURSOR
ASSOCIATE LOCATORS
DECLARE <cursor>
DECLARE ...HANDLER
PREPARE
EXECUTE
EXECUTE IMMEDIATE
LOOP
REPEAT
RESIGNAL
CALL
COMMIT/ROLLBACK 
示例:
--连接数据库
CONNECT TO SAMPLE!

--内联SQL PL
BEGIN
DECLARE I INT DEFAULT 1;
DECLARE NUM INT DEFAULT 0;
SET NUM=0;

WHILE I<=10
DO
SET NUM=NUM+I;
SET I=I+1;
END WHILE;
END!

--关闭连接
CONNECT RESET!
调用示例:
将示例的内容保存为c:\test.sql,然后在DB2 命令窗口中执行如下命令
db2 -td! -vf c:\test.sql 
----更多参见:SQL PL 简介
----声明:转载请注明出处。
----last updated 2010.2.9
----written by wave at 2010.2.9
----end


相关文档:

将SQL Server数据库中记录导出为insert语句

   有时在做程序时,测试时的数据,要拿像用户演示,数据库的附加是最直接的办法,但若从SQL Server 2005转向2000导出麻烦,内容也多,生成SQL语句是最好的办法,也是在网上找的工具,mssql2导出非常方便,担心我以后难得找所以放在这里,以备后用。 ......

SQL server循环中每隔一段时间,运行一次语句

最近做一个项目,说起来比较恶,是从另一个表中读取数据送到这个表中.而且要用触发器循环这些内容再发出去.
可是如果这个数据量很大的话,会一下子挂死.所以就想到了.能不能,每次我传一点,隔几秒再送一点.
下面是一个简单的例子
declare @i int
set @i=1
while @i<101
begin
insert into Cname ([name],csex,Number) ......

SQL常用分页的办法

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
//自 ......

SQL Server 2000 Java开发中当前日期的处理

1、在数据库建表的时候字段直接设置为DATETIME类型;
2、执行插入的时候使用如下语句:
PreparedStatement pstmt = conn.prepareStatement("insert into guestbook(gst_user,gst_title,gst_content,gst_ip,gst_time) values(?,?,?,?,getdate())");
3、要把日期从数据库中取出,执行如下语句:
     ......

高级SQL 2

1 用UNION替换OR (适用于索引列)
通常情况下, 用UNION替换WHERE子句中的OR将会起到较好的效果. 对索引列使用OR将造成全表扫描. 注意, 以上规则只针对多个索引列有效.
如果有column没有被索引, 查询效率可能会因为你没有选择OR而降低. 在下面的例子中, LOC_ID 和REGION上都建有索引.
高效: SELECT LOC_ID , LOC_DESC , ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号