当前位置: 代码迷 >> 综合 >> oracle-sqlplus-related knowledge
  详细解决方案

oracle-sqlplus-related knowledge

热度:49   发布时间:2024-01-17 05:40:34.0

1:改变某一列的显示宽度?
非数值型:col 列名 for aXX(a20);
数值型:col 列名 for 9999;(几个9表示显示几位
)
2:
对查询结果取几位小数?浮点数显示精度怎么改?

select sno, round(avg(score),0) "AVG(SCORE)" from "Score"group by sno having avg(score)>88;
round
(字段名,n)表示n位小数。
3
查看所有用户:select * fromall_users;
查看表空间:select tablespace_name fromdba_tablespaces;
查看用户具有怎样的角色:select * fromdba_role_privs where grantee='用户名'
查看某个角色包括哪些系统权限:select* from dba_sys_privs wheregrantee='DBA'
查看oracle中所有的角色:
select * fromdba_roles;
??4howto solve ORA-02293 
这个错误发生在今天早上要增加一个表的检查约束的时候, alter table "Student" add constraint yueshucheck(sage<22);具体报错表现为:
ORA-02293:
无验证 ("Student".check_sage) - 违反检查约束条件

这是因为已经存在于表中的数据违反了即将要创建的检查约束的条件。

解决办法是创建约束的时候增加novalidate子句,这样就不会对已经存在的数据进行检查了,让我们能够顺利的进行约束的创建,创建后的约束只会对之后添加的数据进行生效并检查。

加上novalidate后:alter table"Student" add constraint yueshu check(sage<22) novalidate;
表已更改。
5:解决每次进入sqlplus都得重新设置linesize和pagesize的问题(不仅仅是这些,所有你想让Oracle-sqlplus自动做的都可以写入进去)
找到你的oracle路径(个人安装):
E:\oracle-11express\app\oracle\product\11.2.0\server\sqlplus\admin
打开glogin.sql文件,(由于版本不同,目录不一样,如果找不到就搜索glogin.sql文件)

这样设置后,就可以永久改变一些属性了。
6:关于含有计数器变量的loop循环
for 计数器变量 in [reverse] 下界..上界 loop
语句块;
end loop;
中,计数器变量只能在循环体内使用,不能在循环体外使用,而且不需要在变量定义部分显式地定义计数器变量。
7:主键是特殊的索引,因此也是数据库对象。
可以通过select * from user_objects ;语句查询所有对象,当然也能查到主键。
8:
显示系统参数:show parameters;
显示页面设置等中的一些参数:show all;
9:select sysdate from dual;查看当前会话的时间格式
10,修改日期格式为年月日时分秒: alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
























??
??
??
??
??
??
??
??
??
  相关解决方案