求DB2存储过程SQL

xpmysky 2008-06-17 06:14:32
现在我有一张表A,表中有时间字段time。需求是这样的,同过时间把A表的数据以一星期一个时间段来分。每一个星期的数据存放到一张新表中去。因为不数据存储过程。希望高手能够赐教。
...全文
97 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bubble1000 2008-06-19
  • 打赏
  • 举报
回复
到这个目录去,我的数据库装在C:\Program Files,你的可以适当变下,这下面有好多例子,你可以看着做做,照猫画虎就可以了.
C:\Program Files\IBM\SQLLIB\samples\sqlproc,
zwj0712 2008-06-19
  • 打赏
  • 举报
回复
建一个新表的时候要想办法使用一个变量了,我试过几次没有成功.期待有经验的人了.

CREATE TABLE A+? LIKE A A+? 设计成一个变量怎么来做了.
xpmysky 2008-06-19
  • 打赏
  • 举报
回复
我已经卡在这很久了~~谁帮一下好吗?
xpmysky 2008-06-18
  • 打赏
  • 举报
回复
补充一下,对于A表不光以前的数据,新添加的数据也要根据时间段来构建新表。所以我感觉触发器是不是也能做。因为没有写过数据库的东西所以不是很懂~希望能帮忙一下~
WangZWang 2008-06-18
  • 打赏
  • 举报
回复
--存储过程例子
CREATE PROCEDURE P_CHANGE_PASSWORD (IN  Pcode   VARCHAR(20), 
IN OldPassword VARCHAR(100),
IN NewPassword VARCHAR(100),
OUT Message VARCHAR(4000) )
LANGUAGE SQL -- <ScriptOptions statementTerminator="@" />
P1: BEGIN ATOMIC --:修改管理员密码。必须保证输入的工号用户为管理员,并且输入的旧密码正确
DECLARE OldP VARCHAR(500);

select oppass into OldP from dictoperator where Operatorcode = Pcode;

if OldP is null then
set Message = '该工号用户不存在!';
elseif OldP = OldPassword then
update dictoperator set oppass = NewPassword where Operatorcode = Pcode;
else
set Message = '输入的旧密码不正确!';
end if;
END P1
xpmysky 2008-06-18
  • 打赏
  • 举报
回复
因为没有写过存储过成~希望能有贴一下SQL语句~谢谢
xpmysky 2008-06-18
  • 打赏
  • 举报
回复
因为数据量比较庞大所以才考虑分成多张表的~
zwj0712 2008-06-18
  • 打赏
  • 举报
回复
首先可以回答你这样的要求可以完成!提一个思路吧,想根据当前时间把年、周取出来。
year(current date)
WEEK (current date)
建一张结构一样的表,CREATE TABLE A||'年份'||'周' like A IN tablespacename;
OK!



设计表的时候不能这么设计,目前DB2的版本功能很强大,没有必要一周就一张表。
xpmysky 2008-06-18
  • 打赏
  • 举报
回复
..没人愿意赐教啊~

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧