col 是用來定義列的寬度
成都創新互聯網站建設公司,提供成都做網站、網站設計,網頁設計,建網站,PHP網站建設等專業做網站服務;可快速的進行網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,是專業的做網站團隊,希望更多企業前來合作!
set 用來進行設置
比如查詢一個T_CUST表,里面有字段CUST_NAME varchar2(64),EMAIL varchar2(64)。
數據30條。
如果在sqlplus 里面直接用select cust_name , email from t_cust
oracle默認是10條數據一頁,30條數據那么會出現多個表頭。并且cust_name 可能會占用太寬的位置。
可以用以下方式,讓顯示的效果跟好。
set pagesize 100 linesize 1000 -- 設置每頁顯示100條記錄 每行長度為1000
col cust_name for a8
select cust_name , email from t_cust
你可以對比一下顯示的結果
分為兩步來實現,首先插入數據,假設表T,有字段col1,col2,col3,需要向前200行的col2插入行數+1的值,并將col2變為第一列,
插入數據有兩種方法:
1》直接update即:UPDATE T SET T.COL2 = ROWNUM + 1 WHERE ROWNUM =200;
2》寫一個存儲過程
CREATE OR REPLACE PROCEDURE INS IS
BEGIN
FOR I IN 1 .. 200 LOOP
INSERT INTO T (COL2) VALUES (I);
END LOOP;
COMMIT;
END;
編譯并運行該過程,插入列即完成。
下面將COL2列調整為第一列:
方法一:借用臨時表,建temp表與t表的表結構、數據完全一致,重建t表,調整字段順序,再將temp表的數據導回來,即
CREATE TABLE TEMP AS SELECT * FROM T;
CREATE TABLE T(
COL2 TYPE,
COL1 TYPE,
COL3 TYPE
);
INSERT INTO T
SELECT COL2,COL1,COL3 FROM TEMP;
COMMIT;
DROP TABLE TEMP;
此方法需要足夠的空間、回滾段和時間消耗
方法2:利用數據庫表對象更新字段的序列號
在當前表用戶下使用下面命令查詢T對象的編號:
select OBJECT_name,object_id from all_objects where object_name='T';(注意一定要大寫)
SQL /
OBJECT_NAME OBJECT_ID
------------------------------ ----------
T 50555
切換到sys帳號下
select obj#,col#,name from col$ where obj#=50555;
OBJ# COL# NAME
---------- ---------- ----------------------------
50555 1 COL1
50555 2 COL2
50555 3 COL3
Elapsed: 00:00:00.03
下面可以通過修改這個系統表來實現修改列名與順序,注意,COL#就是列的順序。
UPDATE COL$ SET COL#=2 WHERE OBJ#=50555 and name='COL1';
UPDATE COL$ SET COL#=1 WHERE OBJ#=50555 and name='COL2';
再次查詢
select obj#,col#,name from col$ where obj#=50555;
OBJ# COL# NAME
---------- ---------- ------------------------------
50555 1 COL2
50555 2 COL1
50555 2 COL3
提交修改commit ;
重啟服務
SQL SHUTDOWN IMMEDIATE
SQLSTARTUP
重新登錄表用戶下,查詢SELECT * FROM T;
COL2 COL1 COL3
至此列順序調整成功
是指sqlplus的查詢輸出格式?
這個沒多大用product\12.2.0\dbhome_1\sqlplus\admin 里面有個glogin.sql能改全局設定 但沒啥意義
當前題目:oracle怎么col Oracle怎么刪除用戶
網頁鏈接:http://vcdvsql.cn/article40/hejjeo.html
成都網站建設公司_創新互聯,為您提供品牌網站設計、軟件開發、網站改版、響應式網站、虛擬主機、網站導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯