db2命令
来源:互联网 发布:三菱plc编程实例精解 编辑:程序博客网 时间:2024/05/21 10:30
1.db2 ? sqlcode
命令:db2 ? sql-440
结果:
SQL0440N 找不到具有兼容自变量的类型为 "<例程类型>" 的名为 "<例
程名>" 的已授权例程。
说明:
当数据库管理器找不到可用来实现引用的例程时,如果引用例程 "<例程名>",那
么会发生此错误。引起此错误的原因有下列几个:
* "<例程名>" 未正确指定或者在数据库中不存在。
* 进行了限定引用,但不正确地指定了限定符。
* 用户的 SQL 路径不包含期望的函数或方法所属的模式,且使用了一个非限定
引用。
* 包括了错误的自变量数。
* 函数或方法引用中包括正确数目的自变量,但是一个或多个自变量的数据类型
不正确。
* 例程不存在于具有在绑定程序包时使用的相同函数标识的数据库中(适用于静
态语句)。
* 找不到与 UPDATE 语句中所使用的属性赋值相对应的 mutator 方法。新属性
值的数据类型与该属性的数据类型不同,并且不是可提升为该属性的数据类型
的数据类型。
* 例程调用程序无权执行该例程。
用户响应:
修正问题,然后再次尝试。这可能涉及目录访问、更改语句、授予对例程调用程
序的执行特权、新函数的添加和/或 SQL 路径的更改。
sqlcode: -440
sqlstate: 42884
2.存储过程
创建SQL存储过程(CREATE PROCEDURE (SQL) statement )
CREATE
PROCEDURE
procedure
-
name
(
IN
|
OUT
| INOUT parameter-
name
data-type,...) )
---存储过程可以设定输入参数和输出参数
LANGUAGE SQL
----DB2可以用多种语言编写存储过程,这里用的是纯SQL
BEGIN
---开始
DECLARE
vID
smallint
;
---定义变量 和Oracle一样 DECLARE 变量名 变量的数据类型;
FOR
V
AS
SELECT
BRND_CD
FROM
TMP_BRND_CD
---for循环 tmp_brnd_cd预先创建好
DO
---循环体开始
SET
vID=BRND_CD;
---对vID赋值,db2可以用set赋值,也可以用values赋值,这里可以写成values(BRND_CD) into vID
INSERT
INTO
WWM_FORINSERT_TEST
VALUES
(vID);
---往wwm_forinsert_test 插入数据
END
FOR
;
-----循环体结束
END
@
-----存储过程结束
参数语法说明
1、procedure-name: 存储过程的名字,在同一个数据库的同一模式下,不能存在存储过程名相同参数数目相同的存储过程,即使参数的类型不同也不行。
2、(IN | OUT | INOUT parameter-name data-type,...) :传入参数 IN:输入参数OUT:输出参数INOUT:作为输入输出参数 parameter-name:参数名字,在此存储过程中唯一的标识符。data-type:参数类型,可以接收SQL类型和创建的表。不支持LONG VARCHAR, LONG VARGRAPHIC, DATALINK, REFERENCE和用户自定义类型。
3、SPECIFIC specific-name:唯一的特定名称(别名),可以用存储过程名代替,这个特定名称用于dorp存储过程,或者给存储过程添加注视用,但不能调用存储过程。如果不指定,则数据库会自动生成一个yymmddhhmmsshhn时间戳的名字。推荐给出别名。
4、DYNAMIC RESULT SETS integer:指定存储过程返回结果的最大数量。存储过程中虽然没有return语句,但是却能返回结果集。
5、CONTAINS SQL, READS SQL DATA, MODIFIES SQL DATA: 指定存储过程中的SQL访问级别 CONTAINS SQL: 表示存储过程可以执行中,既不可读取 SQL 数据,也不可修改 SQL 数据。 READS SQL DATA: 表示存储过程可以执行中,可读取SQL,但不可修改 SQL 数据。 MODIFIES SQL DATA: 表示存储过程可以执行任何 SQL 语句。可以对数据库中的数据进行增加、删除和修改。
6、DETERMINISTIC or NOT DETERMINISTIC:表示存储过程是动态或者非动态的。动态的返回的值是不确定的。非动态的存储过程每次执行返回的值是相同的。
7、CALLED ON NULL INPUT:表示可以调用存储过程而不管任何的输入参数是否为NULL,并且,任何的OUT或者INOUT参数可以返回一个NULL或者非空值。检验参数是否为NULL是在过程中进行的。
8、INHERIT SPECIAL REGISTERS:表示继承专用寄存器。
9、OLD SAVEPOINT LEVEL or NEW SAVEPOINT LEVEL:建立存储点。OLD SAVEPOINT LEVEL是默认的存储点。
10、LANGUAGE SQL:指定程序的主体用的是SQL语言。
11、EXTERNAL ACTION or NO EXTERNAL ACTION:表示存储过程是否执行一些改变理数据库状态的活动,而不通过数据库管理器管。默认是 EXTERNAL ACTION。如果指定为NO EXTERNAL ACTION ,则数据库会确定最最佳优化方案。
12、PARAMETER CCSID:指定所有输出字符串数据的编码,默认为UNICODE编码数据库为PARAMETER CCSID UNICODE ,其他的数据库默认为PARAMETER CCSID 3 ASCII。
13、SQL-procedure-body:存储过程的主体
实际问题1
远程Toad For Db2连接时候
结点名:本机的要唯一
数据库:远程数据库名称要一致
数据库别名:远程不同IP上数据库名一样 这样 数据库别名 在自己的本机上要唯一
list node directory
删除NODE
uncatalog node node_name
删除数据库
drop database_name
IBM DB2 Catalog使用及浅析
http://meizhi.javaeye.com/blog/466071
DB2新手使用的一些小笔记:新建实例、数据库路径不存在、客户端连接 <未看>
http://blog.csdn.net/cecilulysess/archive/2009/10/06/4637238.aspx
附上一个 存储过程的模版
CREATE PROCEDURE HR.pro_demo_fan (
IN IN_COMPANY INTEGER,
IN IN_WORKSITEID INTEGER,
IN I_STR_SWHERE VARCHAR(500) )
SPECIFIC pro_demo_fan
DYNAMIC RESULT SETS 1
LANGUAGE SQL
NOT DETERMINISTIC
EXTERNAL ACTION
MODIFIES SQL DATA
CALLED ON NULL INPUT
INHERIT SPECIAL REGISTERS
----------------------------------------
--FUNTION: fanruyi
--CREATER: 存储过程模版
--CREATE DATE: 2009.10.20
----------------------------------------
BEGIN
DECLARE V_STR VARCHAR(22000);
DECLARE V_SUM DOUBLE;
-- 自定义变量声明区域
declare v_yearmonth varchar(6); --年月
---游标
DECLARE RS CURSOR WITH RETURN TO CALLER FOR RP;
----------------
---全局临时表---
----------------
DECLARE GLOBAL TEMPORARY TABLE SESSION.TBRPT_EMP
(
id integer
)
ON COMMIT DELETE ROWS
NOT LOGGED ON ROLLBACK DELETE ROWS
WITH REPLACE;
----------------
---返回结果集---
----------------
SET V_STR='select empname from employee ';
PREPARE RP FROM V_STR;
OPEN RS;
END;
--赋权
GRANT EXECUTE ON PROCEDURE HR.pro_demo_fan( INTEGER, INTEGER, VARCHAR(500) ) TO USERNAME;
GRANT EXECUTE ON PROCEDURE HR.pro_demo_fan( INTEGER, INTEGER, VARCHAR(500) ) TO USERNAME;
DB2操作指令
原帖地址 http://fanqiang.chinaunix.net/db/db2/2006-05-29/4326.shtml
1. 启动实例(db2inst1):
db2start
2. 停止实例(db2inst1):
db2stop
3. 列出所有实例(db2inst1)
db2ilist
5.列出当前实例:
db2 get instance
4. 察看示例配置文件:
db2 get dbm cfg|more
5. 更新数据库管理器参数信息:
db2 update dbm cfg using para_name para_value
6. 创建数据库:
db2 create db test
7. 察看数据库配置参数信息
db2 get db cfg for test|more
8. 更新数据库参数配置信息
db2 update db cfg for test using para_name para_value
10.删除数据库:
db2 drop db test
11.连接数据库
db2 connect to test
12.列出所有表空间的详细信息。
db2 list tablespaces show detail
13.查询数据:
db2 select * from tb1
14.数据:
db2 delete from tb1 where id=1
15.创建索引:
db2 create index idx1 on tb1(id);
16.创建视图:
db2 create view view1 as select id from tb1
17.查询视图:
db2 select * from view1
18.节点编目
db2 catalog tcp node node_name remote server_ip server server_port
19.察看端口号
db2 get dbm cfg|grep SVCENAME
20.测试节点的附接
db2 attach to node_name
21.察看本地节点
db2 list node direcotry
22.节点反编目
db2 uncatalog node node_name
23.数据库编目
db2 catalog db db_name as db_alias at node node_name
24.察看数据库的编目
db2 list db directory
25.连接数据库
db2 connect to db_alias user user_name using user_password
26.数据库反编目
db2 uncatalog db db_alias
27.导出数据
db2 export to myfile of ixf messages msg select * from tb1
28.导入数据
db2 import from myfile of ixf messages msg replace into tb1
29.导出数据库的所有表数据
db2move test export
30.生成数据库的定义
db2look -d db_alias -a -e -m -l -x -f -o db2look.sql
31.创建数据库
db2 create db test1
32.生成定义
db2 -tvf db2look.sql
33.导入数据库所有的数据
db2move db_alias import
34.重组检查
db2 reorgchk
35.重组表tb1
db2 reorg table tb1
36.更新统计信息
db2 runstats on table tb1
37.备份数据库test
db2 backup db test
38.恢复数据库test
db2 restore db test
39.列出容器的信息
db2 list tablespace containers for tbs_id show detail
40.创建表:
db2 ceate table tb1(id integer not null,name char(10))
41.列出所有表
db2 list tables
42.插入数据:
db2 insert into tb1 values(1,’sam’);
db2 insert into tb2 values(2,’smitty’);
- DB2命令
- DB2命令
- db2命令
- DB2 命令
- DB2命令
- DB2命令
- db2命令
- db2命令
- DB2 命令
- db2 命令
- DB2 命令
- db2命令
- DB2命令
- DB2命令
- DB2命令
- DB2命令
- db2 -tv与db2命令
- db2命令参考
- AES加密CBC模式兼容互通四种编程语言平台【PHP、Javascript、Java、C#】
- JDBC常见面试题集锦(二)
- Android 导航栏如何支持长按 home 键事件分发
- C++学习之迭代器
- qq登录,新浪微博登录 ,接口开发
- db2命令
- Oracle存储过程本地编译方式
- VB6中使用Winsock穿越各种代理的实现(TCP协议)
- iOS学习之UIDatePicker控件使用
- Oracle Database Installation Requirements Reference (8.0.5 to 11.2) (文档 ID 169706.1)
- [算法]学习算法之路
- 关于建站中CSS调用的问题
- python将excel数据导入到数据库中
- 高职高专计算机系列教材之一,根据教育部最新制定的《高职高专