顯示具有 oracle 標籤的文章。 顯示所有文章
顯示具有 oracle 標籤的文章。 顯示所有文章

2015年10月30日 星期五

Insert Sequence Column - Oracle

基本上在Oracle上,不像SQL Server或DB 2有Identity的功能
沒有支援Auto Increment的功能,不過,這個功能真的還蠻常用的

不過其實還有有其它的技巧可以達成這件事的,比如使用下面參考資料的Trigger,不過,我個人比較喜歡單純一點的做法,在建立Table後,再建立Sequence,而在Insert的時候再使用Sequence.NEXTVAL取值的方式

CREATE TABLE TableName  
(  
  Column1 NUMBER NOT NULL,
  Column2  VARCHAR2(11) NOT NULL,
  CONSTRAINT TableName_PKEY PRIMARY KEY(Column1)
);

CREATE SEQUENCE TableName_SEQ;

INSERT INTO TableName (Column1, Column2)
VALUES(TableName_SEQ.NEXTVAL, 'Column2Value');

參考資料:
https://oracle-base.com/articles/misc/autonumber-and-identity

2014年3月13日 星期四

如何在Linux下開啟oracle

每次重開機的時候oracle資料庫都不會重新啟動,所以查了一下如何開啟資料庫
系統的版本主要是Red Hat,Cent OS應該也是可以通用的。
當資料庫不能連線時,記得先檢查網路和主機狀態。

開啟資料庫:
su - oracle
sqlplus "/sysdba"
進入slqplus
sql> startup
sql> exit

開啟監聽器:
檢查監聽器
lsnrctl status
開啟
lsnrctl start


參考資料:
http://mrmo.cc/1594/%E5%9C%A8centos%E4%B8%8B%E5%95%9F%E5%8B%95%E5%AE%89%E8%A3%9D%E5%A5%BD%E7%9A%84oracle%EF%BC%8C%E4%B8%A6%E8%A8%AD%E5%AE%9A%E9%96%8B%E6%A9%9F%E8%87%AA%E5%8B%95%E5%95%9F%E5%8B%95/

2014年3月5日 星期三

Oracle SYNONYM 的建立和刪除

當使用者B想用使用者A上的資料表時,除了使用Grant賦予權限外,可以使用synonym來建立table的同義字供別的使用者使用。

我主要建立public共用的synonym,建立指令如下:
CREATE PUBLIC SYNONYM synonym_name
   FOR user_name.table_name

刪除synonym指令如下:
DROP PUBLIC SYNONYM synonym_name

參考資料:
http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_7001.htm
http://blog.itpub.net/12778571/viewspace-674453/