怎么查db alias ls rm rf的sysibm的信息

您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
linux中如使用db2命令.doc 21页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:150 &&
linux中如使用db2命令
你可能关注的文档:
··········
··········
DB2数据库命令简介   1.启动数据库   db2start   2.停止数据库   db2stop   3.连接数据库   db2connecttoo_yduserdb2usingpwd   4.读数据库管理程序配置   db2getdbmcfg   5.写数据库管理程序配置   db2updatedbmcfgusing参数名参数值   6.读数据库的配置   db2connecttoo_yduserdb2usingpwd   db2getdbcfgforo_yd   7.写数据库的配置   db2connecttoo_yduserdb2usingpwd   db2updatedbcfgforo_ydusing参数名参数值   8.关闭所有应用连接   db2forceapplicationall   db2forceapplicationID1,ID2,,,IdnMODEASYNC   db2listapplicationfordbo_ydshowdetail   9.备份数据库   db2forceapplicationall   db2backupdbo_ydtod:   db2initializetapeon\\.\tape0db2rewindtapeon\\.\tape0   db2backupdbo_ydto\\.\tape0   10.恢复数据库   db2restoredbo_ydfromd:tod:   db2restoredbo_ydfrom\\.\tape0tod:   11.绑定存储过程   db2connecttoo_yduserdb2usingpwd   db2bindc:\dfplus.bnd   拷贝存储过程到服务器上的C:\sqllib\function目录中   12.整理表   db2connecttoo_yduserdb2usingpwd   db2reorgtableydd   db2runstatsontableyddwithdistributionandindexesall   13.导出表数据   db2exporttoc:\dftz.txtofdelselect*fromdftz   db2exporttoc:\dftz.ixfofixfselect*fromdftz   14.导入表数据   importfromc:\123.txtofdelinsertintoylbx.czyxx   db2importtoc:\dftz.txtofdelcommitcount5000messagesc:\dftz.msginsertintodftz   db2importtoc:\dftz.ixfofixfcommitcount5000messagesc:\dftz.msginsertintodftz   db2importtoc:\dftz.ixfofixfcommitcount5000insertintodftz   db2importtoc:\dftz.ixfofixfcommitcount5000insert_updateintodftz   db2importtoc:\dftz.ixfofixfcommitcount5000replaceintodftz   db2importtoc:\dftz.ixfofixfcommitcount5000createintodftz仅IXF   db2importtoc:\dftz.ixfofixfcommitcount5000replace_createintodftz仅IXF   15.执行一个批处理文件   db2-tf批处理文件名   (文件中每一条命令用;结束)   16.自动生成批处理文件   建文本文件:temp.sql   select'runstatsontableDB2.'||tabname||'   withdistributiona'   fromsyscat.tableswheretabschema'DB2'andtype'T';   db2-tftemp.sqlrunstats.sql   17.自动生成建表(视图)语句   在服务器上:C:\sqllib\misc目录中   db2connecttoo_yduserdb2usingpwd   db2look-do_yd-udb2-e-p-cc:\o_yd.txt   18.其他命令   grantdbadmondatabasetouserbb   19select*fromczyxxfetchfirst1rowsonly   20db2look-dylbx-udb2admin-w-asd-a-e-oa.txt21.显示
正在加载中,请稍后...Search Options
SYSIBM.SYSTABLES (V8)
Description: Contains one row for each table, view, or alias.
Tablespace: SYSDBASE
Indexes(Fields):
DSNDTX01(CREATOR.NAME)
DSNDTX02(DBID.OBID.CREATOR.NAME)
DSNDTX03(TBCREATOR.TBNAME)
Column name
Description
Name of the table, view, or alias.
VARCHAR(128)
Authorization ID of the owner of the table, view, or
VARCHAR(128)
Type of object:
Created global temporary table
Materialized query table
Auxiliary table
For a table, or a view of tables, the name of the
database that contains the table space named in TSNAME. For a created
temporary table, an alias, or a view of a view, the value is DSNDB06.
VARCHAR(24)
For a table, or a view of one table, the name of the
table space that contains the table. For a view of more than one table,
the name of a table space that contains one of the tables. For a created
temporary table, the value is SYSPKAGE. Although SYSPKAGE is used as the
value, created temporary tables are not stored in the SYSPKAGE table
space. For a view of a view, the value is SYSVIEWS. For an alias, it is
VARCHAR(24)
Internal identi 0 if the row
describes a view, alias, or created temporary table.
Internal ide 0 if the row
describes a view, an alias, or a created temporary table.
Number of columns in the table or view. The value is
0 if the row describes an alias.
Name o blank if the row
describes a view or alias or a table without an edit procedure.
VARCHAR(24)
Name of the
blank if the row
describes a view or alias or a table without a validation procedure.
VARCHAR(24)
CLUSTERTYPE
Whether RESTRICT ON DROP applies:
Yes. Neither the table nor any table space or database that contains
the table can be dropped.
Total number of pages on which rows of the table
appear. The value is -1 if statistics have not been gathered, or the row
describes a view, an alias, a created temporary table, or an auxiliary
table. This is an updatable column.
Percentage of active table space pages that contain
rows of the table. A page is termed active if it is formatted for rows,
regardless of whether it contains any. If the table space is segmented,
the percentage is based on the number of active pages in the set of
segments assigned to the table. The value is -1 if statistics have not
been gathered, or the row describes a view, alias, created temporary
table, or auxiliary table. This is an updatable column.
A value of Y indicates that the row came from the
basic machine-readable material (MRM) tape.
A character string provided by the user with the
COMMENT statement.
VARCHAR(762)
Number of relationships in which the table is a
dependent. The value is 0 if the row describes a view, an alias, a created
temporary table, or a materialized query table.
Number of relationships in which the table is a
parent. The value is 0 if the row describes a view, an alias, a created
temporary table, or a materialized query table.
KEYCOLUMNS
Number of columns in the table's primary key. The
value is 0 if the row describes a view, an alias, or a created temporary
For user tables, the maximum length of any record in
the table. Length is 8+N+L, where:
The number 8 accounts for the header (6 bytes) and the ID map entry
(2 bytes).
N is 10 if the table has an edit procedure, or 0 otherwise.
L is the sum of the maximum column lengths. In determining a
column's maximum length, take into account whether the column allows
nulls and the data type of the column. If the column can contain nulls
and is not a LOB or ROWID column, add 1 byte for a null indicator. Use 4
bytes for the length of a LOB column and 19 bytes for the length of a
ROWID column. If the column has a varying-length data type (for example,
VARCHAR, CLOB, or BLOB), add 2 bytes for a length indicator.
The value is 0 if the row describes a view, alias, or auxiliary table.
Indicates the status of the table definition:
The definition of the table is incomplete. The TABLESTATUS column
indicates the reason for the table definition being incomplete.
An error occurred when an attempt was made to regenerate the
internal representation of the view.
The table has a primary index and the table definition is complete.
The table has no primary index, the table is a catalog table, or the
row describes a view or alias. The definition of the table, view, or
alias is complete.
Internal DB2 identifier of the index that enforces
uniqueness of the table' 0 if not applicable.
The label as given by a LABEL otherwise,
the value is an empty string.
VARCHAR(90)
The table space that contains the table is in a check pending
status. One of the following conditions is
There are rows in the table that violate referential constraints,
table check constraints, or both
The table is a materialized query table that might contain
inconsistent data
Indicates the following:
The table contains no rows that violate referential constraints,
table check constraints, or both
The table is a materialized query table that contains consistent
The row describes a view, an alias, or a temporary table
NOT NULL WITH
NOT NULL WITH
FOR BIT DATA
Value of the audit option:
AUDIT CHANGE
AUDIT NONE, or the row describes a view, an alias, or a created
temporary table.
NOT NULL WITH
Primary authorization ID of the user who created the
table, view, or alias.
VARCHAR(128)
NOT NULL WITH
Location name of the object of an alias. Blank for a
table, a view, or for an alias that was not defined with a three-part
object name.
VARCHAR(128)
NOT NULL WITH
For an alias, the authorization ID of the owner of
the refer blank otherwise.
VARCHAR(128)
NOT NULL WITH
For an alias, the name for the referred to table or
blank otherwise.
VARCHAR(128)
NOT NULL WITH
Time when the CREATE statement was executed for the
table, view, or alias
NOT NULL WITH
For a table, the time when the latest ALTER TABLE
statement was applied. If no ALTER TABLE statement has been applied, or if
the row is for a view or alias, ALTEREDTS has the value of CREATEDTS.
NOT NULL WITH
DATACAPTURE
Records the value of the DATA CAPTURE option for a
For a created temporary table, DATACAPTURE is always blank.
NOT NULL WITH
The log RBA when the table was created. Otherwise,
RBA1 is X'', indicating that the log
RBA is not known, or that the object is a view, an alias, or a created
temporary table. In a data sharing environment, RBA1 is the LRSN (Log
Record Sequence Number) value.
NOT NULL WITH
FOR BIT DATA
The log RBA when the table was last altered.
Otherwise, RBA2 is X'' indicating
that the log RBA is not known, or that the object is a view, an alias, or
a created temporary table. RBA1 will equal RBA2 if the table has not been
altered. In a data sharing environment, RBA2 is the LRSN (Log Record
Sequence Number) value.
NOT NULL WITH
FOR BIT DATA
PCTROWCOMP
Percentage of rows compressed within the total number
of active rows in the table. This includes any row in a table space that
is defined with COMPRESS YES. The value is -1 if statistics have not been
gathered, or the row describes a view, alias, created temporary table, or
auxiliary table. This is an updatable column.
NOT NULL WITH
If RUNSTATS updated the statistics, the date and time
when the last invocation of RUNSTATS updated the statistics. The default
value is '.00.00.00.;. For a created temporary table, the
value of STATSTIME is always the default value. This is an updatable
NOT NULL WITH
Number of check constraints defined on the table. The
value is 0 if the row describes a view, an alias, a created temporary
table, or a materialized query
table,or if no constraints are defined on the table.
NOT NULL WITH
Total number of rows in the table or total number of
LOBs in an auxiliary table. The value is -1 if statistics have not been
gathered or the row describes a view, alias, or created temporary table.
This is an updatable column.
NOT NULL WITH
DEFAULT -1
CHECKRID5B
Blank if the table or partition is not in a check
pending status (CHECKFLAG is blank), if the table space is not
partitioned, or if the table is a created temporary table. Otherwise, the
RID of the first row of the table space partition that can violate
referential constraints, check constraints, or the value is
X'', indicating that any row can violate referential
constraints.
NOT NULL WITH
FOR BIT DATA
ENCODING_SCHEME
Encoding scheme for tables, views, and local aliases:
Multiple CCSID set or multiple encoding schemes
For remote aliases
The value is 'E' for tables in non work file databases and blank for
tables in work file databases created prior to Version 5 or the default
database, DSNDB04.
NOT NULL WITH
DEFAULT 'E'
TABLESTATUS
Indicates the reason for an incomplete table
definition:
Definition is incomplete because an auxiliary table or auxiliary
index has not been defined for a LOB column.
Definition is incomplete because the table lacks a primary index.
Definition is incomplete because the table lacks a required index on
Definition is incomplete because the table lacks a required index on
a unique key.
An error occurred when an attempt was made to regenerate the
internal representation of the view.
Definition is complete.
VARCHAR(30)
NOT NULL WITH
Number of pages used by the table. The value is -1 if
statistics have not been gathered. This is an updatable column.
NOT NULL WITH
DEFAULT -1
Kilobytes of DASD storage. The value is -1 if
statistics have not been gathered. This is an updatable column.
NOT NULL WITH
DEFAULT -1
Average length of rows for the tables in the table
space. If the table space is compressed, the value is the compressed row
length. If the table space is not compressed, the value is the
uncompressed row length. The value is -1 if statistics have no t been
NOT NULL WITH
DEFAULT -1
RELCREATED
Release of DB2 that was used to create the object:
Created prior to Version 7
Created on Version 7
NOT NULL WITH
NUM_DEP_MQTS
Number of dependent
materialized query tables. The value is zero if
the row describes an alias or a created temporary table, or if
no materialized query tables are defined on the
NOT NULL WITH
The version of the data
row format for this table. A value of zero
indicates that a version-creating alter operation has never occurred
against this table. A
value of 800 indicates that a successful CREATE VIEW or ALTER
VIEW statement has occurred against this table.
A value of -1 indicates that the view needs to
be regenerated.
NOT NULL WITH
PARTKEYCOLNUM
The number of columns in
the partitioning key. This value is zero for
tables that do not have partitioning or use index-controlled partitioning.
The value is non-zero for tables that use
table-controlled partitioning.
NOT NULL WITH
SPLIT_ROWS
Value is blank, except for
VOLATILE tables, which will have 'Y' in the
field to indicate to DB2 to use index access on this table
whenever possible.
NOT NULL WITH
SECURITY_LABEL
This column is only
meaningful if the TYPE column is a T (for
table) or M (for materialized query table). The value indicates whether
the table has multilevel security:
The table does not have multilevel security.
The table has multilevel security with row granularity.
Adapted from material found in the IBM DB2 Universal Database for z/OS V8 SQL Reference (SC18-7426-02).
First published by
Last revision by
Revisions:DB2命令文档_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
DB2命令文档
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩3页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢当前位置: >>
oracle与db2
1、取前 N 条记录 Oracle:Select * from TableName where rownum &= N; DB2:Select * from TableName fetch first N 2、取得系统日期 Oracle:Sele DB2:Select current timestamp fro
m sysibm.sysdummy1; 3、空值转换 Oracle:Select productid,loginname,nvl(cur_rate,'0') from TableN DB2:Select productid,loginname,value(cur_rate,'0') from TableN Coalesce(cur_rate,'0') 4、类型转换(8 版有了 to_char,to_date,9 版新增了 to_number) Oracle:select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') DB2:select varchar(current timestamp) from sysibm.sysdummy1; ## Oracle 数据类型改变函数:to_char()、to_date()、to_number()等;如果仅仅取年,月,日等,可以用 to_char(sysdate, 'YYYY'),to_char('MM') ,to_char('DD')取得。 只取年月日 TRUNC(SYSDATE), 取时分秒 TO_CHAR(SYSDATE,'HH24:MI:SS')。 ## 等; DB2 数据类型改变函数: char()、 varchar()、 int()、 date()、 time()取得年, 日等的写法: 月, YEAR(current timestamp), MONTH(current timestamp), DAY(current timestamp),HOUR(current timestamp),MINUTE(current timestamp),SECOND(current timestamp),MICROSECOND(current timestamp), 只取年月日可以用 DATE(current timestamp),取时分秒 TIME(current timestamp)。 Char()是定长字符串(1-255),varchar()为非定长字符串(1-32672) 日期,时间形态变为字符形态: char(current date),char(current time) 将字符串转换成日期或时间形 态:TIMESTAMP('2:00:00'),DATE(''), DATE('10/20/2002'),TIME('12:00:00') ## 目前 DB2 V8 也支持 to_char 和 to_date5、快速清空大表 Oracle:truncate table TableN DB2:alter table TableName active not logged initia 6、关于 ROWID Oracle 它是由数据库唯一产生的,在程序里可以获得 DB2 v8 也有此功能。7、To_Number Oracle:select to_number('123') DB2:select cast('123' as integer) from sysibm.sysdummy1; SELECT CAST ( current time as char(8)) FROMsysibm.sysdummy1 8、创建类似表 Oracle:create table a as select * DB2:cr CREATE TABLE tab_newAS select col1,col2?FROMtab_old DEFINITION ONLY (8 版有效,9 版无效) 9、decode 方法 Oracle:decode 方法 (DECODE(条件,值 1,翻译值 1,值 2,翻译值 2,...值 n,翻译 值 n,缺省值))或者 case 语句 DB2 中只有 CASE 表达式 SELECT id ,name , CASE WHEN integer(flag)=0 THEN ‘假’ WHEN integer(flag)=1 THEN ‘真’ ELSE ‘异常’ END FROM TEST 或者 SELECT id ,name , CASE integer(flag) WHEN 0 THEN ‘假’ WHEN 1 THEN ‘真’ ELSE ‘异常’ END FROM TEST 10、子查询(8 版,9 版也支持子查询) Oracle:直接用子查询 Db2:with 语句 WITH a1 AS (select max(id) as aa1 from test ) select id ,aa1 from test ,a1 11、数据类型 比较大的差别: Oracle:char 2000 DB2: char 254 datetimeOracle: date Db2:DATE:日期 TIME:时间 TIMESTAMP:日期时间1、数据类型转换函数整型转字符型 字符串转整形 字符串转浮点型 浮点型转字符串 字符串转日期 字符串转时间戳 日期转字符串 ORACLE to_char(1) to_number('1') to_number('1.1') to_char(1.1) to_date('','yyyy-mm-dd') to_date(' 08:08:08','YYYY-MM-DD HH24:MI:SS') to_char(to_date('','yyyy-mm-dd'),'yyyy-mm-dd') DB2 char(1) int('1') double('1.1') char(1.1) date('') to_date(' 08:08:08','YYYY-MM-DD HH24:MI:SS') char(date('')) 兼容写法 cast(1 as char) cast('1' as int) 无 无 无 兼容 无 2、Where 条件弱类型判断 oracle: where 字符型字段 in (整形) 是允许,DB2 不允许 select 'abc' from dual where '1' in (1) 在 oracle 下可通过 select 'abc' from sysibm.sysdummy1 where '1' in (1) 在 DB2 下报错 oracle:where 字符型字段=数字型字段 允许,DB2 不允许 select 'abc' from dual where '1'=1 在 oracle 下可通过 select 'abc' from sysibm.sysdummy1 whre '1'=1 在 DB2 下报错3、replace 关键字 oracle 支持,DB2 不支持 create or replace 语句在 DB2 下是非法的4、子查询别名 ORACLE 支持 select * from(select 1 from dual) 或者 select * from(select 1 from dual) t DB2 支持 select * from(select 1 from sysibm.sysdummy1) t 或者 select * from(select 1 from sysibm.sysdummy1) as t 固兼容的写法是 select * from(子查询) t5、DATE 数据类型的区别 ORACLE 中 DATE 型也是带有时分秒的,但 DB2 下 DATE 只是年月日,如 '',且可作为字符串直接操作,DB2 中要记录时分秒必须采用 TIMESTAMP 型 一个采用 hibernate 后常见的兼容问题是: 如果在映射文件中定义了某个字段为 Date 型 &property name=&createTime& type=&java.util.Date& & &column name=&CREATE_TIME& length=&7& /& &/property& 则在 DB2 下,此字段必须定义为 timestamp,而不能定义成 DATE,不然会报出字 符串右截断的错误对于 DB2 来说,在查询条件中可以直接用字符串指定日期或时间戳类型字段的 值,例如 where create_date = '' 、where create_timestamp = ' 08:08:08' ,无须使用字符串转日期函数6、分页的处理 如果采用 JDBC 分页的话,注意 rownum 在 DB2 中不受支持,比如从 masa_area 表中取得 area_id 最小的 10 条记录,语句分别如下,注意这里的别名 t 书写方 法 ORACLE: select t.* from (select rownum as r1 ,masa_area.* from masa_area order by area_id) t where t.r1&=10 DB2: select t.* from (select rownumber() over() as r1 ,masa_area.* from masa_area order by area_id) t where t.r1&=107、decode 函数 decode 函数在 DB2 不被支持,兼容的写法是采用 case when8、NVL 函数 nvl 写法在 DB2 不被支持,兼容的写法是采用 coalesce ORACLE: select NVL(f_areaid,'空') from masa_user 等同于 select coalesce(f_areaid,'空',f_areaid) from masa_user DB2: select coalesce(f_areaid,'空',f_areaid) from masa_user9、substr 的不同 DB2 substr 举例如下: masa_group 表的 f_groupCode 字段定义成 VARCHAR(100),所以下面这个语句不会 出错,如果是 substr(f_groupCode,1,101)就出错了 select * from masa_group where substr(f_groupCode,1,50) = '; order by f_groupcode 在 DB2 下无错,但是 select * from masa_group where substr(';, 1, 50) = '; order by f_groupcode 就报错,说第三个参数超限 这是因为';已经定义为一个长度为 6 的 charater 了这点和 ORACLE 有很大不同,请大家注意如果是要从第一位取到最后一位,稳妥的办法是不要加第三个参数 ORACLE:select substr(';,1) from dual DB2:select substr(';,1) from sysibm.sysdummy1 都没有问题 因为项目需要,要将 Oracle 上的东西转移到 DB2,于是收集整理了一些需要修 改点的注意事项,拿出来大家分享。 ORACLE 和 DB2 实现相同功能的实例(主要以 Oracle8I 和 DB2 7.X 为例,已测 试) 取前 N 条 记录 取得系统 日期 Oracl e DB2 Oracl e DB2 Oracl e DB2 Oracl e DB2 Select * from TableName where rownum &= N; Select * from TableName fetch first N Sele Select current timestamp from sysibm.sysdummy1; Select productid,loginname,nvl(cur_rate,'0') from TableN Select productid,loginname,value(cur_rate,'0') from TableN select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') select varchar(current timestamp) from sysibm.sysdummy1;■Oracle 数据类型改变函数:to_char()、to_date()、to_number()等;如 果仅仅取年,月,日等,可以用 to_char(sysdate, 'YYYY'),to_char('MM') ,to_char('DD')取得。只取年月日 TRUNC(SYSDATE),取时分秒 TO_CHAR(SYSDATE,'HH24:MI:SS')。空值转换类型转换 ■DB2 数据类型改变函数:char()、varchar()、int()、date()、time() 等;取得年,月,日等的写法:YEAR(current timestamp),MONTH(current timestamp),DAY(current timestamp),HOUR(current timestamp), MINUTE(current timestamp),SECOND(current timestamp), MICROSECOND(current timestamp),只取年月日可以用 DATE(current timestamp),取时分秒 TIME(current timestamp)。Char()是定长字符串 (1-255),varchar()为非定长字符串(1-32672) 日期,时间形态变为字符形态: char(current date),char(current time) 将字符串转换成日期或时间形态:TIMESTAMP(' 12:00:00'),DATE(''),DATE('10/20/2002'),TIME('12:00:00' )快速清空 大表Oracl e DB2 Oracl e DB2 Oracl e DB2 Oracl e DB2truncate table TableN alter table TableName active not logged initia它是由数据库唯一产生的,在程序里可以获得关于 ROWID有此概念,但不能被程序获得。解决方案待定(高人请联系本人
)。select to_number('123') select cast('123' as integer) from sysibm.sysdummy1; create table a as select * crTo_Numbe r 复制创建 表字符串的截取:属于 DB2,试试看:SELECT LEFT(STRINGFIELD1, 2), RIGHT(STRINGFIELD2) FROM TABLE1DB2 错误代码/SQL 返回码信息对照&!--newcoin--&用 COBOL 链接 DB2 时,出现 DB2 错误信息时,如果你不懂代码是什么意思,可以 用这份资料查找, 当然你也可以直接在 db2 的命令行下输入:db2 ? SQL30081N,系统会给出一些 提示信息. sqlcode sqlstate DB2 错误信息(按 sqlcode 排序) 000 +012 +098 +100 +110 +111 +117 +162 +203 +204 +206 +218 +219 +220 +236 +237 +238 +239 +304 +331 +339 +394 +395 +402 +403 +434 +445 +462 +464 +466 +494 +495 +535 00000 01xxx
01591 SQL 语句成功完成 SQL 语句成功完成,但是有警告 未限定的列名被解释为一个有相互关系的引用 动态 SQL 语句用分号结束 没有找到满足 SQL 语句的行 用 DATA CAPTURE 定义的表的更新操作不能发送到原来的子系统 为 2 型索引设置了 SUBPAGES 语句 要插入的值的个数不等于被插入表的列数 指定的表空间被置为检查挂起状态 使用非唯一的名字来解决命名的限定列 命名的对象未在 DB2 中定义 命名的列不在 SQL 语句中指定的任何表中存在 因为 SQL 语句引用一个远程对象,不能为该 SQL 语句执行 EXPLAIN 命名的 PLAN TABLE 不存在 不正确定义 PLAN TABLE,检查命名列的定义 SQLDA 中的 SQLN 的值至少应于所描述的列的个数一样大至少有一个被描述的列应该是单值类型,因此扩展的 SQLVAR 条目需要另外的空至少应有一个被描述的列是一个 LOB,因此扩展的 SQLVAR 条目需要另外的空间 该值不能被分配给宿主变量,因为该值不再数据类型的范围之内 不能被翻译的字符串,因此被设置为 NULL 由于与 DB2 2.2 版本的子系统连接,所以可能存在字符转换问题 使用优化提示来选择访问路径 设置了无效的优化提示,原因代码指定了为什么,忽略优化提示 未知的位置 本地不存在 CREAT ALIAS 对象 在 DB2 未来发布的版本中将不支持指定的特性,IBM 建议你停止使用这些特性 值被 CAST 函数截取 由用户定义的函数或存储过程发出的警告 命名的存储过程超出了它可能返回的查询结果集的个数限制 指定由命名的存储过程返回的查询结果集的个数。成功完成至少应有一个被描述的列应是单值类型,因此扩展的 SQLVAR 条目需要另外的空由存储过程返回的结果集的个数超过了由 ASSOCIATE LOCATORS 语句指定的结果 器的个数 因为倒台 SQL 的成本估算超出了在 ELST 中指定的警告阀值,所以发出警告 请求一个主健的定位更新,或请求一个使用自我引出 约束的表的删除操作 +541 +551 +552 +558 +561 +562 +585 +599 +610 +625 +626 +645 +650 +653 +655 +658 +664 +738 +799 +802 +806 +807 +863 + + -010 -029 -060 -084 -097 -101 -102
命名外健是一个重复的引用约束 命名的授权 ID 缺少在命名的 DB2 对象上执行命名操作的权限 命名的授权 ID 缺少执行命名操作的权限 已经被授权该 PUBLIC,因此 WITH GRANT OPTION 不可用 对 ALTER REFERENCES INDEX 和 TRIGGER 特权,PUBLIC AT ALL LOCATION 无效 因为 GRANTEE 已经拥有这些特权,所以一个或更多的特权被忽略 模式名指定了不止一次 没有为长字符数据类型(BLOB,CLOB 和 DBCLOB)建立比较函数由于建立了一个指定为 DEFER YES 的索引,指定的对象处于 PENDING 状态,或者 使用了 ALTER INDEX 改变关键值的范围,所以指定的对象处于 PENDING 状态 因为删除了主健索引,所以表定义被标注为不完整 删除了加强 UNIQUE 约束的索引,唯一性不在被加强 因为建立的索引中没有包含 NULL,所以 WHERE NOT NULL 被忽略 不能更改或者建立已命名的表为从属表 在已指定的分区表空间中尚没有建立指定的分区索引,所以分区索引不可得为 CREATE 或 ALTER STOGROUP 语句指定特定或者非特定的卷 ID,在 DB2 较新发 本中(版本 6 以后)将不再支持他们 分区索引的限制关键字超出了最大值 已命名的对象的更改可能像只读系统中对象的改变要求一样 SET 语句中引用的特定寄存器不存在,将忽略 SET 请求 数据溢出或者因除法异常而引起的数据异常错误 ISOLATION(RR)与 LOCKSIZE PAGE 冲突 由于十进制乘法导致溢出 连接成功,但是只支持 SBCS SUBPAGES 不等于 1 的 1 型索引不能成为数据共享环境中的缓冲池组依赖者 因为指定的缓冲池不允许超高速缓存,GNPCACHE 指定被忽略 因为 DB2 子系统的参数禁用“提示(hiats)”所以不能指定优化提示 分布式协议错误被检测到,提供原来的 SQLCODE 和 SQLSTATE SQL 语句中由非法字符 字符串常量非正常终止;检查到有遗漏的引号标志 需要 INTO 语句 某特定数据类型的长度或者标量规范无效 不能执行 SQL 语句,因为该语句对动态 SQL 无效或者对 OS/390 的 DB2 无效当建立目录索引时,不能指定 SUBPAGES 语句,SUBPAGES 将被忽略,并缺省为 1+在单位类型、用户自定义的函数以及过程中不能使用带有 CAST 的 LONG VARCHA LONGVARGRAPHIC SQL 语句超出了已确定的 DB2 限制:例如,表的数目太多,语句中的字节太多 字符串常量太长 -103 -104 -105 -107 -108 -109 -110 -111 -112 -113 -114 -115 -117 -118 -119 -120 -121 -122 -123 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -136 -137 -138 -142 -144 -147
无效数学文字 SQL 语句中遇到非法符号 无效的字符串格式;通常引用一个格式不正确的图形字符串 对象名太长 RENAME 语句中指定的名字有错误,不能使用限定词 指定了无效语句;例如 CREATE VIEW 不能包含 ORDER BY 语句 遇到了无效的十六进制的文字 指定的列函数没有给出列名 无效的列函数语法;列函数不能运行与其他的列函数之上 遇到无效字符 该语句的位置名称必须与当前服务器匹配,但是却没有匹配 因为比较运算符没有伴着一个表达式或者列表,遇到了无效谓词 待插入的数值的个数于被插入的行中的列数不相等 数据修改语句(UPDATE 或 DELETE)和 FROM 语句中的表和视图命名不合法 HAVING 语句中的列的列表与 GROUP BY 语句中的列列表不匹配 在 INSERT 或 UPDATE 语句中,某一列被非法引用了两次 非法使用了列函数。因为没有用于一个列函数的所有列不再 GROUP BY 语句中 特定位置的参数必须是一个常数或者一个关键词 ORDER BY 语句中指定了无效数字,该数字要么小于 1 要么大于选定的列数 不能为一个 UPDATE 语句指定 ORDER BY 语句 在子选择中 DISTINCT 只能指定一次 SQL 谓词中 NULL 使用不当 SQL 语句中包含的表多于 15 个 ESCAPE 语句必须为一个字符 无效的 ESCAPE 模式 LIKE 谓词只能用于字符数据 LIKE 语句、ESCAPE 语句、LOCATE 函数或 POSSTR 函数中有无效运算对象 无效相关子查询引用 大于 255 字节的列被不正确使用 排序关键字的长度大于 4000 字节 被连接的字符串太大;字符的最大值为 32767;图形的最大值为 16382 SUBSTR 列函数的第二个或第三个操作符无效不允许 WHERE 语句、SET 语句、VALUES 语句或者 SET ASSIGNMENT 语句引用列函不支持的 SQL 语句。该语句可能在另外的 RDBMS 上有效,也有可能在其他的上下 有效(例如,VALUES 只能在触发器中出现) 指定的段号无效 某一源函数不能更改。要改变源函数,必须删除该源函数并重新建立他 -148 -150 -151 -152 -153 -154 -156 -157 -158 -159 -160 -161 -164 -170 -171 -173 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -197 -198 -199 -203 -204
42704RENAME 和 ALTER 无法执行。RENAME 不能对视图或者活动 RI.ST 表重新命名。AL 能用于改变列的长度,因为该列参与了 RI、一个用户退出程序、全局的临时表 DATACAPTURE CHANGES 表的列触发活动的 INSERT,UPDATE 或 DELETE 语句中指定了无效的视图更新或一个无效 换表试图更新一个不可更新的视图的列、一个 DB2 CATALOG 表的列或者一个 ROWID 列DROP CHECK 试图删除一个参照约束,或者 DROP FOREIGN 试图删除一个检查约束无效的视图建立请求,必须为旋转列表中列出的列出的未命名的列或者重复的列 一个名字 不能用 UNION、UNION ALL 或者一个远程表建立视图在视图上建立索引是非法的,或者在 ALTER TABLE,CREATE TRIGGER,DROP TA LOCK TABLE 语句上指定一个不是表的其他对象这是无效的 必须在 FOREIGN KEY 语句中指定一个表名 视图的列和选择列表中的列不相匹配 无效 DROP 或 COMMENT ON 语句 对该视图的 WITH CHECK OPTION 无效 正被更新的视图 WITH CHECK OPTION 语句使得这行不能被插入或更新 用户没有建立这个视图的权限 标量函数指定了无效的参数个数 标量函数指定了无效的数据类型长度或者无效数值 在非只读型的游标上不能指定隔离级别 UR DATE、TIME、TIMESTAMP 值的字符串表示法的语法不对 不是有效的 DATE、TIME、TIMESTAMP 值 在算术表达式中的日期/时间值无效 在算术表达式中返回的日期/时间值的结果不在有效值的范围内 没有正确使用日期/时间值的参数标记 没有定义本定的日期/时间出口 改变本定的日期/时间出口引发这个程序的长度无效 MVS 返回无效的当前日期/时间 字符串表示无效 指定的编码字符集的 ID 无效或没有定义 不能象所设定的那样改变(ALTER)列。只能改变(ALTER)VARCHAR 列的长度 字符串中包含了无效的混合数据 试图对空的字符串发布一个 PREPARE 或 EXECUTE IMMEDIATE 语句 SQL 语句中使用了非法关键词 模糊列引用 没有定义的对象名当两个或多个表被联合在一起排序时,限定的列名不能在 ORDER BY 语句中使用 -205 -206 -208 -212 -214 -219 -220 -221 -229 -240 -250 -251 -300 -301 -302 -303 -304 -305 -309 -310 -311 -312 -313 -314 -327 -330 -331 -332 -333 -338 -339 -350 -351 -352 -355 -372
428C1指定的表的列名无效 列名没有在 FROM 语句所引用的任何表中,或者没有在定义触发器所在的表中 不能 ORDER BY 指定列,应为该列不在选择列表中 指定的表名在触发器中不允许多次使用,只能使用一次 DISTINCT、ORDER BY 引起的无效表达式 因为 PLAN_TABLE 不存在,EXPLAIN 无法执行 遇到无效的 PLAN_TABLE 列 如果为 PLAN_TABLE 定义了可供选择的列,那么,必须定义所有的列 指定的现场找不到 LOCK TABLE 语句的 PART 子句无效 没有定义本地位置名 记号无效 宿主变量或参数中的字符串不是以 NULL 为终止 无效的宿主变量数据类型 输入的变量值对指定的列无效 输入的变量值对指定的列而言太大 因为数据类型不兼容,不能分配数值 因为数据超出了范围,不能分配数值 没有 NULL 指示符变量 因为引用的宿主变量被设置成 NULL,所以谓词无效 十进制的宿主变量或参数包含非十进制数据 输入的宿主变量长度无效,或者时负值或者太大 没有定义宿主变量或者宿主变量不可用 宿主变量的个数不等于参数标识的个数 模糊的宿主变量引用 在最后分区的关键字范围内,不能插入行 不能成功的翻译字符串 字符串不能分配到宿主变量,因为其不能成功的被翻译 不能为两个命名的编码字符集的 ID 定义翻译规则 子类型无效导致翻译失败 ON 语句无效,必须引用连接的列 访问 DB2 2.2 版本的子系统被拒绝,原因时 ASCII 到 EBCDIC 翻译不能进行 无效的大对象规范 SELECT 列表中有不支持的数据类型 输入列表中有不支持的数据类型 LOB 列太大,以至不能被记录在日志中 每个表只允许有一个 ROWID 列 -390 -392 -396 -397 -398 -399 -400 -401 -402 -404 -405 -406 -407 -408 -409 -410 -411 -412 -413 -414 -415 -416 -417 -418 -419 -420 -421 -423 -426 -427 -430 -433 -435 -438 -440 -441 -443
0F001 2D528 2D529
428B3 xxxxx
42601在上下文中指定的函数无效 自从前一次 FETCH 以来,指定游标的 SQLDA 已被不恰当的改变 在最后的访问过程中,视图执行 SQL 语句 在某一列上不恰当的指定了 GENERATED 因为该列不是 ROWID 数据类型 为某一个宿主变量请求 LOCATOR,但是该宿主变量不是一个 LOB 在 INSERT 语句中为 ROWID 列指定的值无效 在 DB2 编目中定义的用户自定义索引不能超过 100 个 算术操作符或比较操作符的操作对象不是兼容的 算术函数不能用于字符或日期时间数据 SQL 语句指定的字符串太长 数值文字超出了范围 计算出的或者倒出的数值超出了范围 不能把 NULL 值插到定义为 NOT NULL 的列中 数值不能被更新或插入,因为他与列的数据类型不兼容 COUNT 函数指定的运算对象无效 浮点文字笔 30 个字符的最大允许长度长 CURRENT SQLID 使用无效 在子查询的选择列表中遇到了多个列 当转换为一个数字型数据类型时,数据溢出 LIKE 谓词不能运行于用数字或日期时间类型定义的列 为 UNION 操作指定的选择列表不是联合兼容的 包含 UNION 操作符的 SQL 语句不允许有长的字符串列 两参数标识符作为运算对象被指定在同一谓词的两边 参数标识符使用无效 十进制除法无效 字符串自变量值不符合函数的要求 UNION 操作的选择列表中没有提供相同数目的列 为 LOB 或结果集定位器指定的值无效 在不允许更新的应用服务器不允许执行 COMMIT 语句 在不允许更新的应用服务器不允许执行 ROLLBACK 语句 在用户自定义的函数或存储过程中遇到了错误 指定的值太长 无效的应用定义的 SQLSTATE 使用了 RAISE_ERROR 函数的应用发出了一个错误 存储过程或用户自定义函数的参数列表参数个数于预期的个数不匹配 与标量函数一起使用 DISTINCT 或 ALL 是不正确的用法 指定的外部函数返回错误的 SQLSTATE -444 -449 -450 -451 -453 -454 -455 -456 -457 -458 -463 -469 -470 -471 -472 -473 -475 -476 -478 -480 -482 -483 -487 -491 -492 -495 -496 -497 -499 -500 -501 -502 -503
42912与被称为存储过程或用户自定义函数有关的程序不能找到对存储过程或用户自定义的 函数,CREATE 或 ALTER 语句不正确(缺失 EXTERNA 子句) 存储过程或用户自定义函数写入存储器的值超过了参数声明的长度 CREATE FUNCTION 中指定了不正确的数据类型 用户自定义函数中的 RETURNS 语句无效 指定的函数识别标记与已存在的另一函数的识别标记冲突 模式名不比配 为用户自定义函数指定的函数名已经存在 没有找到函数 特定的外部例程返回无效的 SQLSTATE 参数定义为 OUT 或 INOUT 的 CALL 语句必须提供宿主变量 指定了 NULL 参数,但是该例程却不支持 NULL 存储过程或用户自定义函数失败:提供原因代码 外部的函数程序使游标处于打开状态 用户自定义数据类型命名不能和系统定义的数据类型一样 结果类型不能被转换成 RETURNS 类型 在其模式中该函数不是独一无二的 不能 DROP 或 REVOKE 特定的对象,因为其他对象依赖于该对象用户自定义函数或用户自定义类型正试图使用系统中定义的函数或者类型所用的直到存储过程已经被 CALL 后,DESCRIBE PROCEDURE 和 ASSOCIATE LOCATORS 才 布 存储过程不返回到任何一个定位器 CREATE FUNCTION 语句中的参数个数与源函数中的参数个数不匹配选择了 NO SQL 选项建立指定的存储过程或用户自定义函数,但却视图发布 SQLCREATE FUNCTION 语句无效,因为该语句没有 RETURNS 语句或者因为该语句没有 有效的 SOURCE 或者 EXTERNAL 语句 指定函数的指定参数的个数有错误 语句的估计处理器成本超出了资源限制 语句无法执行,因为当前服务器与调用存储过程的服务器不同指定的数据库超过了 32767 OBID 的上限,或者 CREATE DATABASE 语句使之达到 32511DBID 的上限 指定的游标已被分配到结果集,该结果集来自已经指定的存储过程 因为连接被破坏,WITH HOLD 游标被关闭 在试图获取数据或关闭一个游标前必须打开一个游标 在没有关闭游标前不能再次打开游标因为列在游标的 FOR UPDATE OF 语句中没有被指定,该游标用于获取该列,所以 更新该列 -504 -507 -508 -509 -510 -511 -512 -513 -514 -516 -517 -518 -519 -525 -526 -530 -531 -532 -533 -534 -535 -536 -537 -538 -539 -540 -542 -543 -544 -545 -546 -548 -549
42509不能引用一个游标,因为他不是定义到程序里的 在试图更新或者删除 WHERE CURRENT OF 前,必须打开游标 因为被引用的游标当前不是处于数据行上,所以不能被更新或删除除了在游标上指定的那个表(该表由 WHERE CURRENT OF 语句引用的)以外,再 从别的表上更新数据 表或视图不能被修改 对不可修改的表或视图,FOR UPDATE OF 语句无效 对远程对象的无效引用 一个别名不能再被定义成另外的别名 游标尚没有被准备 试图描述未准备好的 SQL 语句 因为 SQL 语句尚没有准备好,游标无效 试图执行尚没有准备好的 SQL 语句 当为游标的 SQL 语句发布一个准备语句是,游标不能是打开的 不能在已指定的程序包中执行 SQL 语句,因为在绑定时间内该程序包无效 在给定的上下文中,不能使用全局的临时表 对特定的约束名指定了无效的外健值从版本 5 开始,父关键字的多行更新将试图删除一个外关键字依赖的父关键字值 版本 5 以前,当引用主关键值外健值当前存在时,试图更新该主健值 删除操作违反了已指定的参照约束 多行插入无效,试图将多行插到自我引用的表中 可改变主健列值的更新语句不能在同一时刻用于更新多行当从自我引用表中删除数据或者更新主健列时,不能指定 WHERE CURRENT OF。 本 5 的子系统才调用该代码 因为某一特定表的参照约束存在,所以删除语句无效 在外健语句或主健语句的规范中,每个列的出现不能多于一次 无效的外健;不符合引用的表没有主健 不能定义外健,因为被引用的表没有主健表定义不完整,直到为主健建立了唯一索引或 UNIQUE 语句、或者包含 GENERAT BYDEFAULT 属性的 ROWID 列 可以为空的列不允许作为主健的一部分包含在内因为该表是指定了 SET NULL 删除规则的参照约束的父表而且检查约束不允许 N 所以 DELETE 不能发生 不能用 ALTER 添加检查约束,因为已存在的某行与该检查约束冲突 INSERT 或者 UPDATE 导致检查约束冲突 在 CREATE 或 ALTER TABLE 中指定的检查约束无效 因为指定的列而引起的检查约束无效 DYNAMICRULES(BIND)计划或程序包的无效 SQL 语句 -551 -552 -553 -554 -555 -556 -557 -558 -559 -567 -571 -573 -574 -577 -579 -580 -581 -582 -583 -585 -586 -587 -590 -592 -601 -602 -603 -604 -607 -611 -612 -613 -614 -615 -616
42893用户试图对不拥有权限的特定的对象进行操作,或者表不存在 用户试图执行未被授权的操作 不能指定 CURRENT SQLID,因为用户尚没有被允许改变那个 ID 不能对你本身赋予一个权限 不能对你本身撤销一个权限 不能撤销用户没有拥有的权限 指定了不一致的授予或撤销关键词 为授予或撤销语句指定了无效的语句(一个或一组) DB2 权限机制已经禁用,授予或者撤销不能被发布 指定的权限 ID 缺少对指定的程序包的绑定权限 不允许多点更新 不能定义参照约束,因为已指定的父表中在指定的列上没有唯一健 指定的缺省与列定义冲突试图修改用户自定义函数中的数据或者存储过程中的数据,但这些对象的建立没 择 MODIFIES SQL DATA 选项试图修改用户自定义函数中的数据或者存储过程中的数据,但这些对象的建立没 择 READ SQL DATA 选项,也没有选择 MODIFIES SQL DATA 选项 CASE 表达式中的结果表达式不能都是空的 CASE 表达式中的结果表达式为不兼容的数据类型 SEARCHED-WHEN-CLAUSE 中的查找条件指定了一个限定的、IN 或 EXISTS 谓词 指定的函数失败,因为他不是决定性的,或者可能有外部动作 在当前路径中模式名不止一次出现 CURRENT PATH 专用寄存器在长度上不能超过 254 字符 项目引用的列表必须是同一个家族 在命名的存储过程或用户自定义的函数中的参数必须是独一无二的 没有授权权限,让你在 WLM 环境中建立的存储过程或者用户自定义函数 试图创建(或重命名)已经存在的对象 CREATE INDEX 语句中指定的列太多 因为发现有重复值,所以不能建立唯一的索引在 CREATE 或 ALTER TABLE 语句中的为数据类型指定的长度、精度以及标度无效指定的 INSERT、UPDATE 或 DELETE 语句不能被发布,应为这些语句对 DB2 CATLO 行写操作 当 LOCKSIZE 是 TABLE 或者 TABLESPACE 时,LOCKMAX 必须为 0 在同一个表、索引或试图中不允许有重复列名 主健或 UNIQUE 约束太长或者包含了太多的列 已经超过了索引的内部健长度的最大长度(255)限制 不能删除这个程序包,因为该程序包目前正在执行 指定的对象不能被删除,因为其他对象依赖于该对象 -617 -618 -619 -620 -621 -622 -623 -624 -625 -626 -627 -628 -629 -630 -631 -632 -633 -634 -635 -636 -637 -638 -639 -640 -642 -643 -644 -646 -647 -650 -651 -652 -653 -655
对于 DB2 版本 6,1 型索引无效。对于以前的版本,1 型索引不能用 LOCKSIZE R LARGE 表空间定义 对 DB2 CATALOG 表的请求操作时不允许的 DSNDB07 不能修改,除非他先被停止了 对在 DSNDB07 中的表空间不允许指定该关键词 遇到了重复的 DBID,遇到了系统问题 不能指定 FOR MIXED DATA 因为没有安装混合数据选项 不能为单一的表定义多个族索引 不能为单一的表定义多个主健 用主健定义的表要求唯一索引 不能发布 ALTER 语句来改变 PRIQTY SECQTY 或 ERASE,除非先停止了表空间不能发布 ALTER 语句来改变 PRIQTY SECQTY 或 ERASE,除非先把表空间定义为使 储器组的表空间 指定语句时相互排斥的(例如,不能分区一个分段的表空间) 因为该外健不能包含空值,所以 SET NULL 无效 不能为 1 型索引指定 WHERE NOT NULL 无效的外健;要么是比 254 个字节长,要么包含的列数多于 40 指定的删除规则禁止把这个表定义为已制定表的从属表 无效删除规则;必须使用特定的强制删除规则 在这种情况下,DELETE CASCADE 不允许 删除规则不能有差异或者不能为 SET NULL 在分区索引健的升序或降序规范中,分区所以必须与该规范一致 遇到重复的关键词 在 CREATE TABLE 语句中缺少列定义 带有 SET NULL 的删除规则的外健的可空列不能是分区索引的列 唯一约束包含太多的列 检查约束超出了 3800 个字符的最大长度 在 SQL 语句中为关键词指定的值无效不能为这个表空间指定 LOCKSIZE ROW,因为在该表空间中的表上定义了 1 型索在指定的分区表空间或者缺省表空间中不能创建表,因为指定的表空间已经包含 个表 指定的缓冲池无效,因为他没有被激活 ALTER INDEX 不能被执行;提供了原因代码如果 CREARE 或 ALTER TABLE 被允许,表对象的描述词(object descriptor,OB 超过最大值(32KB) 遇到了 EDITRPROC 或 VALIDPROC 冲突 在分区表空间中的表不可用,因为分区索引尚未被创建 在卷的列表中,STOGROUP 不能指定为特定的或不特定(“*”)的卷 -658 -660 -661 -662 -663 -665 -666 -667 -668 -669 -670 -671 -672 -676 -677 -678 -679 -680 -681 -682 -683 -684 -685 -686 -687 -688 -689 -690 -691 -692 -693 -694 -696 -697 -713
42815当试图删除指定的对象时,无法删除该对象,该对象的删除必须通过删除与之相 的对象完成 不正确的分区索引规范,必须为族索引定义有限制的关键字 分区索引没有指定恰当的分区数目 试图在未分区的表空间(分段的或简单的)上建立分区索引 为分区索引指定的关键字限制值是一个无效数字 为 ALTER TABLESOACE 语句指定了无效的 PART 语句 SQL 语句不能被处理,因为指定的函数当前正处于进行过程中 不能明确的删除分区表空间的族索引,必须除去分区表空间来去掉分区索引 不能向用 EDITPROC 定义的表中添加列 不能显式的删除分区表空间中的表,必须删除分区表空间来删除表 表的记录长度超过了页面的大小 不能更改指定的表空间的缓冲池,因为这将改变表空间的页面大小 在命名的表上不允许 DROP 只有 4KB 的缓冲池可被用于一个索引 缓冲池扩展失败,由于可用的虚拟内存的大小不足 为才分区索引中指定的限制健提供的值与数据类型不符 不能创建某一个特定对象,因为该对象的一个 drop 目前正在挂起 对 DB2 表不能超过 750 列 列违反了指定的 FIELDPROC 不能载入 FIELDPROC列、单值类型、函数或者过程无效,因为不兼容语句。例如,指定的 INTEGER 具 FORBITDATA 选项 指定的文字列表不能超过 254 个字节 FIELDPROC 返回一个无效的域描述 用 FIELDPROC 定义的一个列不能与一个使用不同的 FIELDPROC 定义的列作比较 列不能与一个非兼容字段类型的列比较 返回不正确的数据 从属表定义了太多的列 数据定义的控制支持拒绝这个语句 命名的注册表不存在 命名的索引不存在,但命名的注册表需要该索引 命名的注册表/索引的命名列无效 DROP 正在命名的注册表上挂起 由于相关的名字或者转换表的名字使用不正确,指定的触发器无效FOR EACH 语句被指定,因此与 OLD 合 NEW 相关的名字是不允许的,或者不能为 BEFORE 触发器指定 OLD_TABLE 和 NEW_TABLE 指定的专用寄存器是无效的 -715 -716 -717 -718 -719 -720 -721 -722 -723 -724 -725 -726 -728 -729 -730 -731 -732 -733 -734 -735 -736 -737 -739 -740 -741 -742 -746 -747 -748 -750 -751 -752 -763 -764
560A1 560A2命名的程序不能被运行,因为他依赖与你所安装的 DB2 版本的部件,但是你的数 心没有安装这个部件 命名的程序使用这个版本的不正确的发行版本做了预编译BIND 失败,因为他依赖与你所安装的 DB2 版本的部件,但是你的数据中心没有 个部件 REBIND 失败,因为 IBMREQD 列无效 不能 BIND ADD 一个已经存在的程序包 不能 BIND REPLACE 一个已经存在的程序包版本 程序包的一致性记号必须是独一无二的 绑定错误,因为指定的程序包不存在 一个触发的 SQL 语句接受到一个错误 达到了(16)级联间接的 SQL 语句的最大项目 对专门指定的寄存器提供了一个无效值 因为 SYSPKSYSTEM 条目,不能绑定这个程序包 指定的数据类型不能与私有协议发布一起使用 用 COMMIT ON RETURN 定义的存储过程不能用作嵌套的 CALL 过程的目标 在只读的共享数据库中为表定义的参照完整性无效 VSAM 数据集必须用 SHAREOPTION(1.3)定义 被定义为只读型数据库却拥有没有定义空间或者索引空间的 DB2 子系统 只读共享数据库的定义不一致 用 DBID 名称标识的数据库不再是一个只读共享数据库 命名的 DBID 无效 在这种状况下,不能建立一个隐含的表空间一旦一个数据库被定义为 ROSHARE READ,他将不能被更改为其他不同的 ROSHAR因为同时指定了 ALLOW PARALLEL 和 MODIELES SQL DATA 这两个语句,因此已设 数将不能再被更改 在这种方式下不能用 MODIELES SQL DATA 定义指定的函数 已经为命名的共享组成员的数据定义了工作文件数据库 DSNDB07 是隐含的工作文件数据库 在特定的触发器、存储过程或函数中的 SQL 语句违反嵌套 SQL 限制 指定的表是不可用的除非为 LOB 数据列建立起必须的辅助表 在指定的辅助表上已经有一个索引 不能对已指定的表重新命名,因为他至少在一个现存的视图或触发器中被引用存储过程或用户自定义的函数试图执行一个不允许执行的 SQL 语句。DB2 的线程 于 MUST_ROLLBACK 状态 无效 CONNECT 语句 无效的表空间名 LOB 表空间必须与其相关的基表空间同在一个数据库中 -765 -766 -767 -768 -769 -770 -771 -797 -798 -802 -803 -804 -805 -807 -808 -811 -812 -815 -817 -818 -819 -820 -822 -840 -842 -843 -870 -872 -873 -874 -875 -876 -877 -878560A3 560A4
表和数据库不兼容 不能对辅助表进行请求的操作CREATE INDEX 失败,因为在辅助表中为索引指定了列,或者因为没有为非辅助 引指定列 不能为指定的列或者指定的分区建立辅助表,因为其辅助表已经存在 CREATE AUX TABLE 的规格与基表不匹配 指定的表必须有一个 ROWID 列,那么该表才可以包含一个 LOB 列 无效的 ROWID 列规范 CREATE TRIGGER 包含不被支持的语法 不能把一个值插入到用 GENERATED ALWAYS 定义的 ROWID 列 某一特定操作发生了异常错误。被零除 某一特定操作发生了异常错误。但不是被零除 不能插入行,因为这将违反唯一索引的约束 SQLDA 的调用参数列表有误 在计划中没有发现 DBRM 或程序包名 对已指定的环境和连接,该程序包不可用 CONECT 语句与程序中的第一个 CONNECT 语句不一致 当多行作为一内嵌的选择语句的返回结果是,必须使用游标 在 CURRENT PACKAGESET 中的 ID 集合是空白的,语句不能被执行在一个内置选择语句或者一个基本谓词的子查询中,显式的或隐含的指定了 GR 或 HAVING 语句 执行 SQL 语句将可能导致禁止更新用户数据或 DB2 编目 计划&-&载入组件的时间戳不匹配,在执行计划中没有从同一个预编译中建立 该预编译是作为组件载入的 视图不能重建,因为在 DB2 编目中存储的分析树长度为 0 在这个 DB2 版本的 DB2 编目中遇到了无效值 在 SQLDA 中遇到了无效地址 在选择列表或插入列表中返回的项目太多 到指定位置的连接已经存在 SET CONNECTION 或 RELEASE 语句无法执行,因为连接不存在 宿主变量描述符的个数不等于语句中宿主变量的个数 这个子系统已指定了有效的 CCSID 指定对象的编码方案与其表空间的编码方案不匹配 指定的操作符不能用于 ASCII 数据 不能为指定的原因创建对象:提供了原因代码 数据库或表空间不允许用 ASCII,必须使用 EBCDIC 该 PLAN――TABLE 不能是 ASCII,必须使用 EBCDIC同一 SQL 语句中,不能同时引用 EBCDIC 表中的定义的列和 ASCII 表中定义的列 -879 -900 -901 -902 -904 -905 -906 -908 -909 -910 -911 -913 -917 -918 -919 -922 -923 -924 -925 -926 -927 -929 -939 -947 -948 -950 -965 -981 -991 -2001
2D521 2D521
指定对象的 CREATE 或 ALTER 语句不能将列、单值类型,某个存储过程或用户自 数的参数定义为以下类型:MAXED DATA,GRAPHIC,VARGRAPHIC,LONGVARGRAPH 为系统没有为指定的编码方案定义相应的 CCSID 应用处理没有连接到应用服务器,语句不能被执行 遇到时断时续的系统错误,该错误不能抑制后继的 SQL 语句的执行 内部控制块的指针错误,要求重新绑定 指定的资源不可用 超出了资源上限 因为重大错误,SQL 语句无法执行 对象已被删除 因为在该对象上挂起 DROP,所以不能访问该对象 当前工作单元已被回滚 因为死锁或超时导致不成功执行 绑定程序包已经失败 SQL 语句不能被执行,因为连接丢失 需要一个 ROLLBACK当前资源限制设施的规范或者自动重绑定的系统参数不允许 BIND, REBIND, AUTO连接权限失败。试图从 TSO、CICS 或 IMS 访问 DB2,同时相应的连接设施处于非 的状态 因为 DB2 不可用,所以不能建立连接 遇到了 DB2 内部的连接错误:提供了原因代码 SQL 的 COMMIT 语句不能从 CICS 或 IMS/TM 发布 SQL 的 ROLLBACK 语句不能从 CICS 或 IMS/TM 发布 当正在连接的环境没有建立时,语言接口被调用。利用 DSN 命令激发该程序 数据获取退出已经失败(DPROP) 由于远程服务器的未请求的回滚,要求一个回滚 SQL 语句失败,因为更新不能被传播(DPROP) DDF 没有启动,分布式操作无效 在 SQL 语句中指定的位置在 SYSIBM.LOCATIONS 中没有定义 存储过程非正常终止(在 DB2 6 之前的版本) 当前不是处于允许 SQL 的状态时,试图在 RRSAF 中执行 SQL 调用连接不能建立一个到 DB2 的隐含或开放连接 为储存过程指定的宿主变量参数的个数不等于预期的参数个数 不能为 GRECP 中的表空间或索引指定 GBPCACHE NONE 对于 WORKFILE 对象。8KB 或 16Kb 的缓冲池页面大小无效 指定的对象类型超出了内部的 ID 极限 当没有指定 WLM 环境时,LOB 不能被指定为参数 不能非 LOB 列建立一个辅助表- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -必须指定 WLM 环境名 指定的权限 ID 不拥有在触发器程序包上执行 BIND 所需的权限 不能按照指定的要求更改命名的函数,因为在现存的视图定义中引用了该函数 不能建立指定的对象,因为“SYS”是一个保留的前缀 在被触发的 SQL 语句中有 BIND 错误,指定了错误的 SQLCODE 和 SQLSTATE 由于指定的原因代码,该函数失败 在 CREATE 或 ALTER FUNCTION 语句中不能使用指定的选项 更改一个 CCSID 失败 不能改变表空间或数据库的 CCSID,因为现存的试图引用 DRDA 分布协议错误;处理可以继续使用 DRDA 的分布式客户把 OPEN 语句连接到 PREPARE, PREPARE 接受到一个 S 但 为+495 的警告 DRDA 分布协议错误;对话被解除 DRDA 分布协议错误;处理不能继续 违反分布协议:COMMIT 不成功,对话被解除(AS) 因为不能得到资源,执行失败,处理可以继续(AS) 因为不能得到资源,执行失败,处理不能成功的继续(AS) 执行不成功,在 BIND 过程中不能执行语句 特定的 BIND 过程不是处于活动状态(远程 BIND),从而导致失败 程序准备的假设错误 程序包的拥有者遭遇授权失败 RBD 遭遇授权失败 指定了无效或者没有存在的 RDB 目标子系统不支持这个命令 目标子系统不支持这个对象 目标子系统不支持这个参数 目标子系统不支持这个参数值 应答信息不被支持 SNA 通信错误 TCP/IP 通信错误 由于安全冲突、通信失败:提供了原因代码 指定的操作对远程执行失败 在绑定选项与绑定值中有错误 指定的绑定选项不兼容计算时间值差 timestampdiff(2,char(max(b.wf_time)-min(a.make_date))) (1 = 秒的小数部分 2 = 秒 4 = 分 8 = 时 16 = 天 32 = 周 64 =月 128 = 季度 256 = 年)values(timestampdiff (2, char( timestamp('-00.00.00')timestamp('-00.00.00'))) )将 decimal 类型转换为 varchar 类型和 char 类型 转换成 char 类型 cast(b.PROCESSINSTANCEID as char(19) 转 换 成 varchar 类 型 cast(cast(b.PROCESSINSTANCEID as char(19)) as varchar(300)) 执行一个存储过程 例:CREATE CallPROCEDURE PUR_PROCESS_PRO()PUR_PROCESS_PRO() PUR_PROCESS访问 select * fromdb2 oracle 存储过程对比pl/sql
10:10:13 阅读 17 评论 0 字号:大中小 1、创建 PROCEDURE 的参数的区别 1)参数类型和参数名称的位置不同 db2: CREATE PROCEDURE PRO1 (IN OrgID int)oracle:CREATE PROCEDURE PRO1 (OrgID IN int) 2)同时作为输入输出参数的写法不同 db2: IN 在 OUT 之前 3)没有输入或输出参数时 db2: CREATE PROCEDURE PRO1 () oracle:CREATE PROCEDURE PRO1 不能有空的括号 4)赋值语句写法不一样 db2: oracle: set var =.. var := .. CREATE PROCEDURE PRO1 (INOUT OrgID int) INOUT 连着写 IN OUT 中间空格隔开,而且必须oracle:CREATE PROCEDURE PRO1 (OrgID IN OUT int)5)异常处理不一样 db2: 异常处理器类型(handler-type)有以下几种: CONTINUE 在处理器操作完成之后,会继续执行产生这个异常语句之后的下一条语句。 EXIT 在处理器操作完成之后,存储过程会终止,并将控制返回给调用者。 UNDO 在处理器操作执行之前,DB2 会回滚存储过程中执行的 SQL 操作。在处理器操作完成之后,存储 过程会终止,并将控制返回给调用者。 异常处理器可以处理基于特定 SQLSTATE 值的定制异常,或者处理预定义异常的类。预定义的 3 种异常 如下所示: NOT FOUND 标识导致 SQLCODE 值为+100 或者 SQLSATE 值为 02000 的异常。这个异常通常在 SELECT 没有返回行的时候出现。 SQLEXCEPTIOIN 标识导致 SQLCODE 值为负的异常。 SQLWARNING 标识导致警告异常或者导致+100 以外的 SQLCODE 正值的异常。 如果产生了 NOT FOUND 或者 SQLWARNING 异常,并且没有为这个异常定义异常处理器,那么就会忽 略这个异常,并且将控制流转向下一个语句。如果产生了 SQLEXCEPTION 异常,并且没有为这个异常定 义异常处理器,那么存储过程就会失败,并且会将控制流返回调用者。 以下示例声明了两个异常处理器。 EXIT 处理器会在出现 SQLEXCEPTION 或者 SQLWARNING 异常的 时候被调用。EXIT 处理器会在终止 SQL 程序之前,将名为 stmt 的变量设为&ABORTED&,并且将控制流返 回给调 用者。UNDO 处理器会将控制流返回给调用者之前,回滚存储过程体中已经完成的 SQL 操作。 oracle: EXCEPTION ----错误处理 WHEN DUP_VAL_ON_INDEX THEN ----主键冲突 ROLLBACK; WHEN VALUE_ERROR THEN ----长度截断错误 ROLLBACK; WHEN PROGRAM_ERROR THEN ----PL/SQL 内部错误 ROLLBACK; WHEN TIMEOUT_ON_RESOURCE THEN ----系统等待超时 ROLLBACK; WHEN OTHERS THEN ----其他异常错误 ROLLBACK; 2 自定义函数例子 类似 oracle 的 to_date() 日期函数 CREATE FUNCTION DB2ADMIN.TO_DATE_EX (INPUTDATE VARCHAR(20), FORMAT VARCHAR(20) ) RETURNS TIMESTAMP SPECIFIC DB2ADMIN.SQL700 LANGUAGE SQL NOT DETERMINISTIC READS SQL DATA STATIC DISPATCH CALLED ON NULL INPUT EXTERNAL ACTION INHERIT SPECIAL REGISTERS RETURN with tmp (outdate) as ( select case length(rtrim(INPUTDATE)) when 10 then timestamp(inputdate || ' 00:00:00') when 19 then timestamp(inputdate) end from sysibm.sysdummy1 ) selDB2values 技巧、sysibm.tables 和 syscat.tables、1、 values 虚表 --最简单 Select * from (values 1) as a; --这是 SQL 很有用,可以做一些逻辑判断,如果加上 where 条件的话. Select * from (values 1) as a where &num&0; 其中&num 将用数值替换. --建个多字段的表 Select * from (values ('luzhaol@',1),('',2) ) as a(name,id); 可以用这种方法指定一些常量,用来 left outer join. 2、 db2 =& values 1 1 ----------1 1 条记录已选择。-- 获取系统当前日期 select current date from sysibm.sysdummy1; select current time from sysibm.sysdummy1; select current timestamp from sysibm.sysdummy1; --sysibm.sysdummy1 表是一个特殊的内存中的表,用它可以发现如上面演示的 DB2 寄存器的值。您也可以使用关键字 VALUES 来对寄存器或表达式求值。 VALUES VALUES VALUES3、 values 赋值 -- 给变量赋值的另一种方法 values expr1, expr2, expr3 into a, b, -- 相当于 set a = expr1; set b = expr2; set c = expr3;4、 在 VALUES 子句中包含多行的内容。 例如,下面的语句将插入三行:INSERT INTO mytable VALUES (1, 'abc'), (2, 'def'), (3, 'ghi')5、 数据库的视图里有 sysibm.tables 和 syscat.tables,这两个有什么区别?很多 资料上不是说 sysibm 模式的是基表吗,怎么在视图里也有 sysibm 模式,是干什 么用的? sysibm.tables 的表里面的信息比 syscat.tables 的少,或者说 IBM 认为你想知 道的信息在 sysibm.tables 里面已经都可以知道了,这个应该是给用户使用的。 syscat.tables 应该是给系统使用的。 sysibm 这个 schema 下的 view,是对很多表的简化,可以直接查 view 来检索你 感兴趣的资料。Oracle 定时任务文章分类:数据库Oracle 定时任务 begin sys.dbms_job.submit(job =& :job, what =& 'create_tomorrow_raw_ drop_old_raw_', next_date =& to_date('26-04-:01', 'dd-mm-yyyy hh24:mi:ss'), interval =& 'sysdate+1');abs(m) m 的绝对值 mod(m,n) m 被 n 除后的余数 power(m,n) m 的 n 次方 round(m[,n]) m 四舍五入至小数点后 n 位的值(n 缺省为 0) trunc(m[,n]) m 截断 n 位小数位的值(n 缺省为 0)avg([distinct/all] n) 列 n 的平均值 count([all] *) 返回查询范围内的行数包括重复值和空值 count([distinct/all] n) 非空值的行数 max([distinct/all] n) 该列或表达式的最大值 min([distinct/all] n) 该列或表达式的最小值 stdev([distinct/all] n) 该列或表达式的标准偏差,忽略空值 sum([distinct/all] n) 该列或表达式的总和 variance([distinct/all] n) 该列或表达式的方差,忽略空值 Oracle 日期函数
10:48DELIVERED_DATE &= to_date('','yyyy-mm-dd') and DELIVERED_DATE & to_date('','yyyy-mm-dd') 日期函数:& add_months(d,n) 日期 d 加 n 个月 last_day(d) 包含 d 的月份的最后一天的日期 month_between(d,e) 日期 d 与 e 之间的月份数,e 先于 dnew_time(d,a,b) a 时区的日期和时间 d 在 b 时区的日期和时间 next_day(d,day) 比日期 d 晚,由 day 指定的周几的日期 sysdate 当前的系统日期和时间 greatest(d1,d2,...dn) 给出的日期列表中最后的日期 least(d1,k2,...dn) 给出的日期列表中最早的日期 to_char(d [,fmt]) 日期 d 按 fmt 指定的格式转变成字符串 to_date(st [,fmt]) 字符串 st 按 fmt 指定的格式转成日期值, fmt 忽略, 要用缺省格式 round(d 若 st [,fmt]) 日期 d 按 fmt 指定格式舍入到最近的日期 trunc(d [,fmt]) 1.下一个周五的日期 select next_day(sysdate,6) 2.两个月前的今天的日期 select add_months(sysdate,-2) initcap(st) 返回 st 将每个单词的首字母大写,所有其他字母小写 lower(st) 返回 st 将每个单词的字母全部小写 upper(st) 返回 st 将每个单词的字母全部大写 concat(st1,st2) 返回 st 为 st2 接 st1 的末尾(可用操作符&||&) lpad(st1,n[,st2]) 返回右对齐的 st,st 为在 st1 的左边用 st2 填充直至长度为 n,st2 的缺省为空格 rpad(st1,n[,st2]) 返回左对齐的 st,st 为在 st1 的右边用 st2 填充直至长度为 n,st2 的缺省为空格 ltrim(st[,set]) 返回 st,st 为从左边删除 set 中字符直到第一个不是 set 中的字符。缺省时,指的是空格 rtrim(st[,set]) 返回 st,st 为从右边删除 set 中字符直到第一个不是 set 中的字符。缺省时,指的是空格 replace(st,search_st[,replace_st]) 将每次在 st 中出现的 search_st 用 replace_st 替换,返回一个 st。缺省时,删除 search_st substr(st,m[,n]) n=返回 st 串的子串, m 位置开始, n 个字符长。 从 取 缺省时, 一直返回到 st 末端 length(st) 数值,返回 st 中的字符数 instr(st1,st2[,m[,n]]) 数值,返回 st1 从第 m 字符开始,st2 第 n 次出现 的位置,m 及 n 的缺省值为 1 例: 1. select initcap('THOMAS'),initcap('thomas') initca initca ------ -----Thomas Thomas 2. select concat('abc','def') &first& first ----abcdef 3. select 'abc'||' '||'def' &first& first ----abc def 4. select lpad(name,10),rpad(name,5,'*') lpad(name,10) rpad(name,5,'*') ------------ ---------------mmx mmx** abcdef abcde 5. 去掉地址字段末端的点及单词 st 和 rd select rtrim(address,'. st rd') from test 6. select name,replace(name,'a','*') name replace(name,'a','*') ---- --------------------great gre*t 7. select substr('archibald bearisol',6,9) a,substr('archibald bearisol',11) a b ------------bald bear bearisol 8. select name,instr(name,' ') a,instr(name,' ',1,2) name a b ------- -------- --------li lei 3 0 l i l 2 4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 转换函数: nvl(m,n) 如果 m 值为 null,返回 n,否则返回 m to_char(m[,fmt]) m 从一个数值转换为指定格式的字符串 fmt 缺省时,fmt 值的 宽度正好能容纳所有的有效数字 to_number(st[,fmt]) st 从字符型数据转换成按指定格式的数值,缺省时数值 格式串的大小正好为整个数 附: to_char()函数的格式: --------------------------------符号 说明 --------------------------------9 每个 9 代表结果中的一位数字 0 代表要显示的先导 0 $ 美元符号打印在数的左边 L 任意的当地货币符号 . 打印十进制的小数点 , 打印代表千分位的逗号 --------------------------------例: 1. select to_number('123.45')+to_number('234.56') to_number('123.45')+to_number('234.56') ---------------------------------------358.01 2. select to_char() to_char() -----------------. select to_char(123,'$9,999,999') a,to_char(54321,'$9,999,999') b,to_char(9874321,'$9,999,999')? ? ? ?11:54 浏览 (66) 评论 (0) 分类: DB2 缩略显示工作中用到的 SQL文章分类:数据库 alter table tbmoudule drop column imouduleID; --删除列 mysql select coalesce(col,0) ,value(col,'0')--为 null 赋默认值 db2 alter table SJPT_SFSL add column flag int default 0 CREATE INDEX SJPT_SFSL_flag ON SJPT_SFSL(flag); 取得当前年月日: SELECT current date FROM sysibm.sysdummy1 取得当前时分秒: SELECT current time FROM sysibm.sysdummy1 取得当前年月日时分秒: SELECT current timestamp FROM sysibm.sysdummy1 取得 3 个月前的日期 SELECT current date - 3 month FROM sysibm.sysdummy1 取得 3 天前的日期 SELECT current date - 3 day FROM sysibm.sysdummy1 call 存储过程名称(); alter session force parallel query parallel 4;ora 并行处理就是为了将一 个 SQL 语句分布到多个 CPU 上去执行 一亿条数据不算太大,如果你的表不是提供 7*24 联机服务,则可以参考如下步 骤 1.CREATE TABLE NEW_TABLE PARALLEL X AS SELECT * FROM OLD_TABLE WHERE 1=2 2.ALTER TABLE NEW_TABLE NOLOGGING 3. alter session force par alter session force par alter session force paral insert /*+ append parallel(new_table,x) */ into new_table as select xxx,nvl(a,-1),nvl(b,-1),nvl(c,-1),nvl(d,-1),xxx from old_table? ? ? ?10:57 浏览 (23) 评论 (0) 分类: DB2 缩略显示DB2 自定义 java 函数文章分类:数据库我们知道,在 DB2 中提供的函数有限.在笔者的实际工作中就遇到了这个问题.所 以我们在用到 DB2 的项目中,很多时候需要自己定义函数.好在 DB2 也提供了自定 义函数的功能. 下面笔者就某个项目来说. 用 java 来实现 DB2 自定义函数,首先要写出函数的 java 实现代码 import COM.ibm.db2.app.*; public class DB2Udf extends UDF { /** * */ public DB2Udf() { } /** * 返回两个数值的按位与操作结果 * @param num1 * @param num2 * @return int */ public static int bitand(int num1,int num2) { return num1&num2; } } 编译之,要注意的地方是一定要用 DB2 自带的 jdk 来进行编译. 然后把这个 class 文件放到 DB2 安装路径下\sqllib\function 下 然后再到 DB2 的客户端声明这个自定义函数就可以用了 --两个整形数字的按位与
create function bitand(value1 int,value2 int) returns integer fenced variant no sql language java parameter style java external name 'DB2Udf!bitand';db2 基础语句 文章分类:数据库1. 建立数据库 DB2_GCB CREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCB USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ 32 2. 连接数据库 connect to sample1 user db2admin using . 建立别名 create alias db2admin.tables for sysstat. CREATE ALIAS DB2ADMIN.VIEWS FOR SYSCAT.VIEWS create alias db2admin.columns for syscat. create alias guest.columns for syscat. 4. 建立表 create table zjt_tables as (select * from tables) create table zjt_views as (select * from views) 5. 插入记录 insert into zjt_tables select * insert into zjt_views select * 6. 建立视图 create view V_zjt_tables as select tabschema,tabname from zjt_ 7. 建立触发器 CREATE TRIGGER zjt_tables_del AFTER DELETE ON zjt_tables REFERENCING OLD AS O FOR EACH ROW MODE DB2SQL Insert into zjt_tables1 values(substr(o.tabschema,1,8),substr(o.tabname,1,10)) 8. 建立唯一性索引 CREATE UNIQUE INDEX I_ztables_tabname [size=3]ON zjt_tables(tabname); 9. 查看表 select tabname from tables where tabname='ZJT_TABLES'; 10. 查看列 select SUBSTR(COLNAME,1,20) as 列名,TYPENAME as 类型,LENGTH as 长度 from columns where tabname='ZJT_TABLES'; 11. 查看表结构 db2 describe table user1.department db2 describe select * from user.tables 12. 查看表的索引 db2 describe indexes for table user1.department 13. 查看视图 select viewname from views where viewname='V_ZJT_TABLES'; 14. 查看索引 select indname from indexes where indname='I_ZTABLES_TABNAME'; 15. 查看存贮过程 SELECT SUBSTR(PROCSCHEMA,1,15),SUBSTR(PROCNAME,1,15) FROM SYSCAT.PROCEDURES; 16. 类型转换(cast) ip datatype:varchar select cast(ip as integer)+50 from log_comm_failed 17. 重新连接 connect reset 18. 中断数据库连接 disconnect db2_gcb 19. view application LIST APPLICATION; 20. kill application FORCE APPLICATION(0); db2 force applications all (强迫所有应用程序从数据库断开) 21. lock table lock table test in exclusive mode 22. 共享 lock table test in share mode 23. 显示当前用户所有表 list tables 24. 列出所有的系统表 list tables for system 25. 显示当前活动数据库 list active databases 26. 查看命令选项 list command options 27. 系统数据库目录 LIST DATABASE DIRECTORY 28. 表空间 list tablespaces 29. 表空间容器 LIST TABLESPACE CONTAINERS FOR Example: LIST TABLESPACE CONTAINERS FOR 1 30. 显示用户数据库的存取权限 GET AUTHORIZATIONS 31. 启动实例DB2START 32. 停止实例 db2stop 33. 表或视图特权 grant select,delete,insert,update on tables to user grant all on tables to user WITH GRANT OPTION 34. 程序包特权 GRANT EXECUTE ON PACKAGE PACKAGE-name TO PUBLIC 35. 模式特权 GRANT CREATEIN ON SCHEMA SCHEMA-name TO USER 36. 数据库特权 grant connect,createtab,dbadm on database to user 37. 索引特权 grant control on index index-name to user 38. 信息帮助 (? XXXnnnnn ) 例:? SQL30081 39. SQL 帮助(说明 SQL 语句的语法) help statement 例如,help SELECT 40. SQLSTATE 帮助(说明 SQL 的状态和类别代码) ? sqlstate 或 ? class-code 41. 更改与&管理服务器&相关的口令 db2admin setid username password 42. 创建 SAMPLE 数据库 db2sampl db2sampl F:(指定安装盘) 43. 使用操作系统命令 ! dir 44. 转换数据类型 (cast) SELECT EMPNO, CAST(RESUME AS VARCHAR(370)) FROM EMP_RESUME WHERE RESUME_FORMAT = 'ascii' 45. UDF 要运行 DB2 Java 存储过程或 UDF,还需要更新服务器上的 DB2 数据库管理程 序配置,以包括在该机器上安装 JDK 的路径 db2 update dbm cfg using JDK11_PATH d:sqllibjavajdk TERMINATE update dbm cfg using SPM_NAME sample 46. 检查 DB2 数据库管理程序配置 db2 get dbm cfg 47. 检索具有特权的所有授权名 SELECT DISTINCT GRANTEE, GRANTEETYPE, 'DATABASE' FROM SYSCAT.DBAUTH UNION SELECT DISTINCT GRANTEE, GRANTEETYPE, 'TABLE ' FROM SYSCAT.TABAUTH UNION SELECT DISTINCT GRANTEE, GRANTEETYPE, 'PACKAGE ' FROM SYSCAT.PACKAGEAUTH UNION SELECT DISTINCT GRANTEE, GRANTEETYPE, 'INDEX ' FROM SYSCAT.INDEXAUTH UNION SELECT DISTINCT GRANTEE, GRANTEETYPE, 'COLUMN ' FROM SYSCAT.COLAUTH UNION SELECT DISTINCT GRANTEE, GRANTEETYPE, 'SCHEMA ' FROM SYSCAT.SCHEMAAUTH UNION SELECT DISTINCT GRANTEE, GRANTEETYPE, 'SERVER ' FROM SYSCAT.PASSTHRUAUTH ORDER BY GRANTEE, GRANTEETYPE, 3 create table yhdab (id varchar(10), password varchar(10), ywlx varchar(10), kh varchar(10)); create table ywlbb (ywlbbh varchar(8), ywmc varchar(60)) 48. 修改表结构 alter table yhdab ALTER kh SET DATA TYPE varchar(13); alter table yhdab ALTER ID SET DATA TYPE varchar(13); alter table lst_bsi alter bsi_mon说明 目录视图 检查约束 SYSCAT.CHECKS 列 SYSCAT.COLUMNS 检查约束引用的列 SYSCAT.COLCHECKS 关键字中使用的列 SYSCAT.KEYCOLUSE 数据类型 SYSCAT.DATATYPES 函数参数或函数结果 SYSCAT.FUNCPARMS 参考约束 SYSCAT.REFERENCES 模式 SYSCAT.SCHEMATA 表约束 SYSCAT.TABCONST 表 SYSCAT.TABLES 触发器 SYSCAT.TRIGGERS 用户定义函数 SYSCAT.FUNCTIONS 视图 SYSCAT.VIEWS? ? ? ?10:55 浏览 (87) 评论 (0) 分类: DB2
缩略显示DB2 常用函数与 Oracle 比较1、类型转化函数:decimal, double, Integer, smallint,real,Hex(arg), date, time,timestamp,char, varchar 常用举例: --转化为字符串类型 Oracle: select to_char(15.5000) DB2:select char(15.5000) from sysibm.sysdummy1 --转化为日期时间 Oracle: select to_date('','yyyy-mm-dd') DB2: select date('') from sysibm.sysdummy1 2、时间日期:year, quarter, month, week, day, hour, minute ,second dayofyear(arg):返回 arg 在年内的天值 Dayofweek(arg):返回 arg 在周内的天值 days(arg):返回日期的整数表示法,从
来的天数。 midnight_seconds(arg):午夜和 arg 之间的秒数。 Monthname(arg):返回 arg 的月份名。 Dayname(arg):返回 arg 的星期。 常用举例: --返回当前系统时间 Oracle: sele DB2:select current date from sysibm.sysdummy1 --返回当前时间的下一天(年月 时 同理) Oracle: select sysdate,sysdate + interval '1' DB2:select current date + 1 day from sysibm.sysdummy1 3、字符串函数: length,lcase, ucase, ltrim, rtrim Coalesce(arg1,arg2….):返回参数集中第一个非 null 参数。 Concat (arg1,arg2):连接两个字符串 arg1 和 arg2。 insert(arg1,pos,size,arg2):返回一个,将 arg1 从 pos 处删除 size 个字符, 将 arg2 插入该位置。 left(arg,length):返回 arg 最左边的 length 个字符串。 locate(arg1,arg2,&pos& :在 arg2 中查找 arg1 第一次出现的位置,指定 pos, 则从 arg2 的 pos 处开始找 arg1 第一次出现的位置。 posstr(arg1,arg2):返回 arg2 第一次在 arg1 中出现的位置。 repeat(arg1 ,num_times):返回 arg1 被重复 num_times 次的字符串。 replace(arg1,arg2,arg3):将在 arg1 中的所有 arg2 替换成 arg3。 right(arg,length):返回一个有 arg 左边 length 个字节组成的字符串。 space(arg):返回一个包含 arg 个空

我要回帖

更多关于 aliasfor 的文章

 

随机推荐