DB2(AS400/i系列)列值说明
我在网上找到了一个查询,它可以帮助我获得所有的列名和列描述,我已经粘贴在下面了DB2(AS400/i系列)列值说明,db2,ibm-midrange,data-dictionary,Db2,Ibm Midrange,Data Dictionary,我在网上找到了一个查询,它可以帮助我获得所有的列名和列描述,我已经粘贴在下面了 Select SYSTEM_TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, varchar(COLUMN_TEXT, 50) As COLUMN_DESC From QSYS2.syscolumns WHERE TABLE_NAME = 'xxxxxx' AND SYSTEM_TABLE_SCHEMA = 'yyyyyy' 是否有提供列值说明的查询?我附上下面所需的样本输出。[Item
Select
SYSTEM_TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, varchar(COLUMN_TEXT, 50) As COLUMN_DESC
From QSYS2.syscolumns
WHERE TABLE_NAME = 'xxxxxx' AND SYSTEM_TABLE_SCHEMA = 'yyyyyy'
是否有提供列值说明的查询?我附上下面所需的样本输出。[Item Code]列有三个值:A、B、C->I需要这些值的相应说明
这取决于数据的结构。SQL不知道代码值的描述。这是数据库中包含的数据。因此,如果您有一个包含代码描述的表,那么您可以通过联接获得它。如果没有这样的表,则无法获取该信息。下面是一个例子,说明这可能对您有用
create table master (
id integer primary key,
name varchar(128) not null,
code varchar(10) not null);
create table codes (
id varchar(10) primary key,
description varchar(128) not null);
insert into master
values (1, 'test1', 'A'),
(2, 'test2', 'B'),
(3, 'test3', 'C'),
(4, 'test4', 'A'),
(5, 'test5', 'B');
insert into codes
values ('A', 'Code 1'),
('B', 'Code 2'),
('C', 'Code 3');
SELECT master.id, master.name, master.code, codes.description
FROM master
JOIN codes on master.code = codes.id;
|ID|NAME |CODE|DESCRIPTION|
|--|-----|----|-----------|
|1 |test1|A |Code 1 |
|2 |test2|B |Code 2 |
|3 |test3|C |Code 3 |
|4 |test4|A |Code 1 |
|5 |test5|B |Code 2 |
如果数据库构建正确,那么在表“XXXXX”和jmarkmurphy提供的“code”表之间应该定义一个引用(又名外键)约束 有多种方法可以显示这种限制 IBM i
- qsys2.syscst
- qsys2.syscstcol
- qsys2.syscstdep
- qsys2.syskeycst
- sysibm.SQLFOREIGNKEYS
- qsys2.1参考_约束