初學Oracle的筆記(2)——基礎內容(即時更新中..)

來源:互聯網
上載者:User

續 初學Oracle的筆記(1)——基礎內容(即時更新中..)

1.oracle中建立一張表,寫法與sql server中的一樣。
 

SQL> create table Course
2 ( cno char(8),
3 cname varchar2(20),
4 ccredit int,
5 cpno char(8)
6 );

表已建立。

但是,在寫的過程中,發現cno這列的屬性少寫了一個not null。於是試著用原來sql server中的修改列屬性的寫法試了下,發現不行。
 

SQL> alter table Course alter cno char(8) not null;
alter table Course alter cno char(8) not null
*
第 1 行出現錯誤:
ORA-01735: 無效的 ALTER TABLE 選項

網上找了下,oracle中,修改列的屬性的寫法有點不同。
 

SQL>alter table Course MODIFY(cno char(8) not null)
SQL> /

表已更改。

SQL> desc course
名稱 是否為空白? 類型
----------------------------------------- -------- ----------------------------
CNO NOT NULL CHAR(8)
CNAME VARCHAR2(20)
CCREDIT NUMBER(38)
CPNO CHAR(8)

 

2.如果要添加一列怎麼寫呢?
sql server中的寫法是:
 Alter table course cdept char(8);

在oralce中寫的試了下,能夠運行成功,如下:
 SQL> alter table course 

2 add cdept char(8);

表已更改。

查看下此時的表的結構,如下:

SQL> desc course;
名稱 是否為空白? 類型
----------------------------------------- -------- ---------------------
CNO NOT NULL CHAR(8)
CNAME VARCHAR2(20)
CCREDIT NUMBER(38)
CPNO CHAR(8)
CDEPT CHAR(8)

 

3.如果要刪除一列要怎麼寫呢?
sql server中的寫法大家應該挺熟悉的,如下:
Alter table Course drop  cpno;

在oracle中試了下,有錯誤,說缺少關鍵字:
 

SQL> alter table course
2 drop cdept;
drop cdept
*
第 2 行出現錯誤:
ORA-00905: 缺失關鍵字

那麼缺少的是什麼關鍵字呢?網上找了下原因,好像是column。這個關鍵字,添加進去再試了下,發現就可以了:

SQL> alter table course
2 drop column cdept;

表已更改。

 此時再看下錶的結構,cdept列真的刪除了。

 

以下幾個也是在建立表後,修改表結構是比較常用的,這邊不一個個試過了,給大家參考:

1.想修改表Course中的屬性cname VARCHAR2(20),長度修改為100(只能從小到大,100-->20就不可以了)。     ALTER table course MODIFY(cname VARCHAR2(100)); 2。如需要修改屬性col1的名稱為col2。     ALTER TABLE Course MODIFY(col1 VARHCAR2(50), col2 VARCHAR2(100));3.僅修改欄位名:     ALTER TABLE liwh_620 RENAME COLUMN device_number TO serial_number; 

問題:使用scott登入Oracle以後,建立視圖,提示“許可權不夠”,怎麼解決?
回答:
這是因為scott這個帳戶目前沒有建立視圖的許可權。
解決方案為:
首先使用system帳戶進行登入,其中“tigertiger”為安裝Oracle時所指定的密碼(可修改):
sqlplus system/tigertiger

然後執行:
grant create any view to scott
提示:授權成功。
執行:
exit
退出當前system帳戶。

再使用sqlplus登入就可以建立視圖了,如:
sqlplus scott/tigert
下面建立一個最簡單視圖:
create or replace view v1
as
select * from t1;

 

 今天的筆記就先做到這,主要介紹了下,我在建立資料表的時候碰到的些問題和注意點,希望對和我一樣的初學者有協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.