这里涉及到两个系统视图的应用dba_tab_cols和user_tab_cols;
dba_tab_cols包含所有用户下表字段信息;user_tab_cols包含当前用户下表信息;使用tba_tab_clos查询表字段类型需要指定owner(用户)
上述两个表中,table_name,column_name,data_type就可以满足需要查询表字段类型了,具体类型对应其他字段还有另外定义,比如varchar2,date,number还对应在data_length字段有值,说明类型其长度
user_tab_columns和user_tab_cols都可以满足问题要求,但是两张视图还是有区别的,主要是包含字段的区别等,具体区别可以度娘哈,这里就不赘述。
你如果指的是需要自增值的字段,你需要创建sequence。想要查询自增值, 可以在Sqlplus下运行:
select seq1nextval from dual; (第一次)
select seq1currval from dual; (当前值)
使用insert语句时:insert into 表 (需要使用自增值的字段,其它字段1,其他字段2) values (seq1nextval, 其它字段1所给值,其它字段2所给值),然后commit。
select column_name,
table_name,data_type ,data_length,data_precision,data_scale from user_tab_columns where column_name='字段名';
--根据字段名查出相关的表名出来。记录下来
--然后对查出来的表进行查询,找到含这内容字段的表
select from 表名 where 字段名='xiaoming'
你这个字段要按照什么规则排序吗,不然获取最后一个值和第一个值也就没有意义了,max函数可以获得按照排序规则的最大值,同样min获取最小值,这也就是你所说的按照排序规则的第一个值和最后一个值,
多写几个if判断就可以实现。如
创建测试表及插入数据:
create table test(id int,
name varchar2(10),
money int);
insert into test values (1,'张三',100);
insert into test values (2,'李四',29);
insert into test values (3,'王五',50);
insert into test values (4,'赵六',56);
commit;
创建触发器:
create or replace trigger t_testbefore update
on test
for each row
begin
if updating ('name')
then dbms_outputput_line('name字段被修改');
elsif updating ('money')
then dbms_outputput_line('money字段被修改');
end if;
end;
执行update语句,进行测试:
update test set name='哈哈' where id=1;commit;
结果截图:
查询该字段,用EXCPTION异常抓取,如果没异常则说明有该字段。
如果进入异常程序块则说明无该字段。
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。
ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。
ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。
Oracle数据库最新版本为Oracle Database 12c。Oracle数据库12c 引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。
1private void button2_Click(object sender, EventArgs e)
2{
3 OracleConnection conn = dbcgetConnection();//获得conn连接
4 try
5 {
6 connOpen();
7 OracleCommand cmd = connCreateCommand();
8 cmdCommandText = "SELECT zp FROM kkkkbj WHERE xh = 2345 ";//查询获得流
9
10 OracleDataReader reader = cmdExecuteReader();//创建一个OracleDateReader对象
11 readerRead();
12
13 MemoryStream ms = new MemoryStream((byte[])reader["zp"]);
14
15 Image image = ImageFromStream(ms, true);
16
17 readerClose();
18 connClose();
19
20 pictureBox1Image = image;
21 }
22 catch (Exception ee)
23 {
24 MessageBoxShow(eeMessageToString());
25 }
26
27}
以上就是关于如何查询oracle数据库表字段全部的内容,包括:如何查询oracle数据库表字段、oracle怎么获取表中所有的自增字段、oracle使用系统表查找某张表的某一字段值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)