1.偶尔需要清空数据 以前一直用delete 今天发现有个好的办法:
Truncate Table [表名]
这个可以直接清空数据(delete是逐行删除)
2.SELECT CASE THEN 的用法
SELECT CODE,CASE SYSPAR.GETLANG WHEN 'EN' THEN LNAME ELSE NVL(CNAME,LNAME) END NAME
FROM PRD;
3.查询服务器的字符集
SELECT USERENV('LANGUAGE') FROM DUAL;
4.单引号也用单引号转义
select '''' from dual 结果为 '
5.查看用户表注释
SELECT TABLE_NAME,COMMENTS FROM USER_TAB_COMMENTS;
6.oracle 增加和删除列
add
ALTER TABLE PRD ADD DISPLAY_CODE VARCHAR2(30);
delete
删除列的2种方法
alter table qq drop column TIME
alter table qq set unused ("TIME") cascade constraints;(注意TIME为字段名,要大写)
第一个命令直接删除一个列,适合应付比较小的表,
第二个命令将一个列标识为unused
然后在系统负载比较轻的时候使用
alter table drop unused columns
删除该列占用的存储空间。
可以使用参数指定一次删除多少行
适合负载比较重,或者表比较大的情况
7.新建一个表时需要赋权限和建同义词
GRANT ALL ON DBOWN.PROD TO APPUSER;
GRANT SELECT,DELETE,UPDATE,INSERT ON DBOWN.ORDSTYLES TO APPUSER;
CREATE OR REPLACE PUBLIC SYNONYM ORDSTYLES FOR ORDSTYLES;
8.物化视图
EXEC DBMS_SNAPSHOT.refresh('GRANTEDPRIV');
posted on 2008-09-25 10:09
谭明 阅读(175)
评论(0) 编辑 收藏 所属分类:
Oracle