oracle数据库对象-同义词

同义词(synonym)是数据库对象,相当于给表起一个别名。

通过创建同义词可以简化对象的访问,使用同义词可以:
1)更方便的引用其他用户拥有的表
2)缩短冗长的对象名

例子:

SQL> select object_name, object_type, owner from dba_objects where object_name='DUAL';

OBJECT_NAME   OBJECT_TYPE   OWNER
------------- ------------- -------------
DUAL          TABLE         SYS
DUAL          SYNONYM       PUBLIC


从例子中看到SYS用户有DUAL表,为了让其它用户能引用DUAL表,建立了一个公共的同义词。

1、创建同义词

CREATE [PUBLIC] SYNONYM synonym_name FOR object_name;

2、删除同义词

DROP SYNONYM synonym_name;

3、查看所有同义词

select * from dba_synonyms;

4、权限
CREATE SYNONYM权限:创建自己私有同义词
CREATE ANY SYNONYM权限:创建其它用户的私有同义词
CREATE PUBLIC SYNONYM权限:创建自己公有同义词
继续阅读oracle数据库对象-同义词

oracle数据库对象-序列

序列(sequence)是oracle数据库对象中的一个,每次使用时它会自动增加(或减少)。

1、创建序列
语法:

CREATE SEQUENCE sequence_name
  [INCREMENT BY n]
  [START WITH n]
  [{MAXVALUE n | NOMAXVALUE}] 10^27
  [{MINVALUE n | NOMINVALUE}] -10^27
  [{CYCLE | NOCYCLE }]
  [{CACHE n | NOCACHE}];


说明:
INCREMENT BY:每次加几个
START WITH:从几开始
MAXVALUE:最大值是多少,或NOMAXVALUE不设置最大值
MINVALUE:最小值是多少,或NOMINVALUE不设置最小值
CYCLE:累加到最大值之后循环,或NOCYCLE一直累加不循环
CACHE:设置内存里缓存多少个序列,如果系统down掉了内存中的序列会丢失,导致序列跳号,也可以设置为NOCACHE不缓存

创建语句:

create sequence seq1
increment by 1
start with 1
maxvalue 999999
minvalue 1
cycle
nocache;

这个序列的值从1到999999递增循环。
继续阅读oracle数据库对象-序列

ultraedit问题

ultraedit打开一个文档a里面中文乱码,但是记事本打开a中文正常。文档a是从ftp上拉下来的。

如果把a文档用记事本打开另存为UTF-8格式的b文档,用UE打开又可以显示中文。

如果把转换为UTF-8格式的b文档,UE另存为UTF8无BOM格式的c文档,c文档和a文档所占字节数是一样的,查看16进制也是一样的。UE打开c文档正常显示。

只是UE打开a文档右下角是DOS,c文档右下角是U8-DOS。

不知道为什么UE没有识别出a文档的UTF8格式?

只要用记事本另存为一下就好了。。。