oracle常用命令

来源:互联网 发布:.us域名 编辑:程序博客网 时间:2024/06/06 10:55

查询 当前用户下所有表
select * from user_tables;

查询 当前用户下所有表的字段
select * from user_col_comments order by table_name;

SELECT TABLE_NAME,COLUMN_NAME,DATA_TYPE,DATA_LENGTH FROM USER_TAB_COLUMNS ORDER BY TABLE_NAME,COLUMN_NAME;

给用户testllj赋创建表权限
 GRANT CREATE ANY TABLE TO testllj 

取消用户testllj创建表权限                           
REVOKE CREATE ANY TABLE from testllj

创建索引
execute immediate 'CREATE UNIQUE INDEX I_test_AppModule_Map ON T_test_AppModule_Map(ID) TABLESPACE test_user_idx';

创建关键字
execute immediate 'ALTER TABLE T_test_AppModule_Map ADD CONSTRAINT PK_T_test_AppModule_Map PRIMARY KEY (ID)'; 

字段值校验
ALTER TABLE T_SEQUENCE ADD CONSTRAINT CHECK_STEP CHECK(STEP>0);
ALTER TABLE T_SEQUENCE ADD CONSTRAINT CHECK_LENGTH CHECK(LENGTH>0);
ALTER TABLE T_SEQUENCE ADD CONSTRAINT COMPARE_MX_MN CHECK(MX>MN)

 

创建用户

create user llj identified by llj default tablespacetest_user_dat

temporary tablespace temp;

 

给用户赋基本权限

grant connect to llj;   grant resource to llj;   grant dba to llj;

 

l   使用oracle用户登录oracle服务器,执行export NLS_LANG="AMERICAN_AMERICA.AL32UTF8",确保数据库的环境变量NLS_LANG="AMERICAN_AMERICA.AL32UTF8"

 

修改表字段类,如果长度比原来的小,则该字段内容必须为空

 ALTER TABLE T_BME_INTERLOG MODIFY ACCESSUSERNAME VARCHAR2(64);

 

 

查看oracle服务端字符集

oracle@SEE_B:~> env | grep LANG

查看oracle终端字符集

 select userenv('language') from dual;

解决因编码不一致,导致部分中文无法插入的方法:

1、将sql脚本用Notepad++打开,点击格式,查看其编码方式,如果与oracle服务端编码不一致,则转换和服务端相同的编码方式,并保存xxx.sql。

2、登录oracle服务器(lunix),以个人用户登录,并执行SQL> @xxx.sql即可。