用sqlplus建立表相關紀要

2021-06-16 02:24:58 字數 1998 閱讀 8200

開啟sqlplus。

登陸的時候輸入帳戶密碼:system/p*****

草好像,需要選擇以什麼角色進入,忘記了。

顯示當前資料庫的sid:

select name from v$database;

結果是和我在enterprise manager console裡面得到的一樣:zaka.

show user 顯示出當前連線的使用者。

select username,default_tablespace from user_users;

這裡就可以顯示當前使用者和當前使用者預設的表空間,結果都是system,正常。

select * from user_sys_privs;

select * from user_tables;顯示當前使用者下的所有表。

select * from tab;這個語句才是真的顯示所有表,上個語句顯示的太多了無法看清。

更換使用者是用: connect scott/tiger as sysdba;

現在做個測試,建立乙個錶用enterrise manager console,但是不同的是system帳戶,在不同的表空間下建立,也就是說不在system空間下建立,不在預設的例項下建立。

再建立乙個表直接用sqlplus最簡單的建立,看其預設的引數在那裡。

再就是用sqlplus在指定的地方建立指定的表。

create table test1(

test_id integer not null);

由於登陸的帳戶密碼是在scott下面,所以表test1出現在scott 方案下面表空間system.

問題來了,這個方案,是否是每個帳戶使用乙個預設的方案?

做了乙個小測試

切換到system的帳戶下面區。

create table test1(test_id integer not null);

同樣建立表成功。並且索引也不衝突。

但是在enterprise mn console裡面發現其預設的方案不是system,而是sys.

問題來了,怎麼查詢當前使用者下的預設的方案?

查詢了半天無法找到原因,可能是問題太過於弱智了,網路不屑於回答。

so ,我自己建立乙個帳戶測試一下。

建立了乙個f**/p**

重新用foujo的帳號登陸,sqlplus執行create table test1發現有問題,

提示無權使用users表空間,

這個users表空間意思就是你建立乙個帳戶,自己建立乙個帳戶的時候系統預設,可能是sqlplus預設

的使用表空間。

所以就有以上錯誤。

so,返回到enterprise console在安全性》使用者下面找到foujoe的帳戶,

修改裡面的限額選項卡

選中users,限額大小修改為無限制。

最後create test1成功,

所使用的預設方案是foujoe,這個方案是系統自己在建立foujo帳戶的時候自己自動生成的。

說明乙個問題,我猜測的啊:不能在同乙個方案下面生成同名的表

可以在同乙個表空間下有同樣的表名字,包括那些個索引啊。

所以說,索引等obj是由方案來區分的。

done.

最後test了半天把foujoe這個帳戶給弄亂了。

需要刪除。

在安全性選項下面選擇移除的時候提示foujoe仍然在connect,所以只好到例程》會話 裡面找到foujoe的connection.

kill 掉。

然後才能刪除。

我一開始建立的表在system這個帳戶下面。

所以想移動到我自己建立的帳戶方案下。

不過找到乙個方法就是 在source table 端執行類似建立就可以搞定問題。

done.

現在發現乙個問題。

在oracle中,一切皆物件,index也是乙個物件,就是索引,主鍵一般作為索引。

如果主鍵是數字那麼主鍵物件名字就以table開頭,後面跟一串亂碼。

如果主鍵是字串那麼就一sys打頭,這個好像是oracle的規矩吧。

用SQL PLUS建立網頁

在oracle文件中 sql plus user s guide and reference 7 generating html reports from sql plus這章就有介紹 文件中有個例子 set markup指明sql plus輸出html編碼格式,必須使用set markup htm...

在SQL PLUS中建立 呼叫函式

定義函式 create or replace function f jf panylist tradeid in varchar2 return varchar2 isstr return varchar2 2000 cursor c tradeid v tradeid varchar2 issel...

使用sqlplus建立Oracle表空間

dos視窗輸入以下命令 sqlplus 回車 提示輸入使用者名稱 即建立資料庫例項時的使用者名稱 使用者名稱輸入 sys as sysdba 密碼.回車登入 接下來,我們看看您當前的資料庫檔案一般都是放在 的 select name from v datafile windows下可能看到的結果如下...