在sqlplus全部輸出clob欄位的內容
在sqlplus全部輸出clob欄位的內容
建立表
create table tp_clob
(
test clob;
)
;
使用工具pl/sql developer中寫入如下內容
create or replace function fn_test(v_table in varchar)
return number
as
v_count number;
v_sql varchar2(100);
begin
v_sql:= 'select count(*) from '||v_table;
execute immediate v_sql into v_count;
return v_count;
end;
預設的設定在sqlplus中查詢的時候只能輸出部分內容:
SQL>select test from tp_clob;
create or replace function fn_test(v_table in varchar)
return number
as
v_count number;
透過設定引數set long 100000可以輸出clob欄位的全部內容
SQL>set long 100000;
SQL>select test from tp_clob;
TEST
--------------------------------------------
create or replace function fn_test(v_table in varchar)
return number
as
v_count number;
v_sql varchar2(100);
begin
v_sql:= 'select count(*) from '||v_table;
execute immediate v_sql into v_count;
return v_count;
end;
有關SQLPLUS環境的設定命令如下:
軟體環境:
1、Windows NT4.0+ORACLE 8.0.4
2、ORACLE安裝路徑為:C:ORANT
實現方法:
show和set命令是兩條用於維護SQL*Plus系統變數的命令
SQL> show all --檢視所有68個系統變數值
SQL> show user --顯示當前連線使用者
SQL> show error
--顯示錯誤
SQL> set heading off --禁止輸出列標題,預設值為ON
SQL> set feedback off --禁止顯示最後一行的計數反饋資訊,預設值為"對6個或更多的記錄,回送ON"
SQL> set timing on --預設為OFF,設定查詢耗時,可用來估計SQL語句的執行時間,測試效能
SQL> set sqlprompt "SQL> " --設定預設提示符,預設值就是"SQL> "
SQL> set linesize 1000 --設定螢幕顯示行寬,預設100
SQL> set autocommit ON --設定是否自動提交,預設為OFF
SQL> set pause on --預設為OFF,設定暫停,會使螢幕顯示停止,等待按下ENTER鍵,再顯示下一頁
SQL> set arraysize 1 --預設為15
SQL> set long 1000 --預設為80
說明:
long值預設為80,設定1000是為了顯示更多的內容,因為很多資料字典檢視中用到了long資料型別,如:
SQL> desc user_views
列名 可空值否 型別
------------------------------- -------- ----
VIEW_NAME NOT NULL VARCHAR2(30)
TEXT_LENGTH NUMBER
TEXT LONG
SQL> define a = '''20000101 12:01:01''' --定義區域性變數,如果想用一個類似在各種顯示中所包括的回車那樣的常量,
--可以用define命令來設定
SQL> select &a from dual;
原值 1: select &a from dual
新值 1: select '20000101 12:01:01' from dual
'2000010112:01:01
-----------------
20000101 12:01:01
問題提出:
1、使用者需要對資料庫使用者下的每一張表都執行一個相同的SQL操作,這時,一遍、一遍的鍵入SQL語句是很麻煩的
實現方法:
SQL> set heading off --禁止輸出列標題
SQL> set feedback off --禁止顯示最後一行的計數反饋資訊
列出當前使用者下所有同義詞的定義,可用來測試同義詞的真實存在性
select 'desc '||tname from tab where tabtype='SYNONYM';
查詢當前使用者下所有表的記錄數
select 'select '''||tname||''',count(*) from '||tname||';' from tab where tabtype='TABLE';
把所有符合條件的表的select許可權授予為public
select 'grant select on '||table_name||' to public;' from user_tables where 《條件》;
刪除使用者下各種物件
select 'drop '||tabtype||' '||tname from tab;
刪除符合條件使用者
select 'drop user '||username||' cascade;' from all_users where user_id>25;
快速編譯所有檢視
----當在把資料庫倒入到新的伺服器上後(資料庫重建),需要將檢視重新編譯一遍,
----因為該表空間檢視到其它表空間的表的連線會出現問題,可以利用PL/SQL的語言特性,快速編譯。
SQL> SPOOL ON.SQL
SQL> SELECT'ALTER VIEW '||TNAME||' COMPILE;' FROM TAB;
SQL> SPOOL OFF
然後執行ON.SQL即可。
SQL> @ON.SQL
當然,授權和建立同義詞也可以快速進行,如:
SQL> SELECT 'GRANT SELECT ON '||TNAME||' TO 使用者名稱;' FROM TAB;
SQL> SELECT 'CREATE SYNONYM '||TNAME||' FOR 使用者名稱.'||TNAME||';' FROM TAB;
SQL*PLUS常用命令列表
軟體環境:
1、Windows 98 第二版
2、Oracle資料庫版本為:Personal Oracle7 Release 7.3.4.0.0
3、Oracle安裝路徑為:C:ORAWIN95
命令列表:
假設當前執行命令為:select * from tab;
(a)ppend
新增文字到緩衝區當前行尾
a order by tname
結果:select * from tab order by tname;
(注:a後面跟2個空格)
(c)hange/old/new 在當前行用新的文字替換舊的文字
c/*/tname
結果:select tname from tab;
(c)hange/text
從當前行刪除文字
c/tab
結果:select tname from ;
del
刪除當前行
del n
刪除第n行
(i)nput 文字
在當前行之後新增一行
(l)ist
顯示緩衝區中所有行
(l)ist n
顯示緩衝區中第 n 行
(l)ist m n
顯示緩衝區中 m 到 n 行
run
執行當前緩衝區的命令
/
執行當前緩衝區的命令
r
執行當前緩衝區的命令
@檔名
執行調入記憶體的sql檔案,如:
SQL> edit s
如果當前目錄下不存在s.sql檔案,則系統自動生成s.sql檔案,
在其中輸入“select * from tab;”,存檔退出。
SQL> @s
系統會自動查詢當前使用者下的所有表、檢視、同義詞。
@@檔名
在.sql檔案中呼叫令一個.sql檔案時使用
save 檔名
將緩衝區的命令以檔案方式存檔,預設副檔名為.sql
get 檔名
調入存檔的sql檔案
start 檔名
執行調入記憶體的sql檔案
spool 檔名
把這之後的各種操作及執行結果“假離線”即存檔到磁碟檔案上,預設副檔名為.lst
spool
顯示當前的“假離線”狀態
spool off
停止輸出
例:
SQL> spool a
SQL> spool
正假離線到 A.LST
SQL> spool off
SQL> spool
當前無假離線
exit
退出SQL*PLUS
desc 表名
顯示錶的結構
show user
顯示當前連線使用者
show error
顯示錯誤
show all
顯示所有68個系統變數值
edit
開啟預設編輯器,Windows系統中預設是notepad.exe,把緩衝區中最後一條SQL語句調入afiedt.buf檔案中進行編輯
edit 檔名
把當前目錄中指定的.sql檔案調入編輯器進行編輯
clear screen
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/77311/viewspace-1019981/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MongoDB查詢如何只輸出部分欄位內容MongoDB
- clob 欄位查詢
- JDBC處理包含CLOB欄位JDBC
- BLOB及CLOB欄位處理
- set serveroutput on 在PL/SQL中輸出內容ServerSQL
- clob欄位對於parallel ddl的限制Parallel
- clob欄位對於parallel dml的限制Parallel
- oracle clob欄位去除html標籤OracleHTML
- PL/SQL 插入clob欄位處理SQL
- 利用PLSQL包載入CLOB欄位SQL
- 如何在Clob欄位中查詢
- LONG欄位型別向CLOB遷移型別
- 泛微oa流程表單之明細表欄位通過文字輸入內容使另外一個欄位必填
- PowerShell輸出內容到檔案
- 廣招內容輸出英雄帖
- [20130301]clob欄位的empty_clob與NULL.txtNull
- mysql 計算 一個文字欄位的內容一個文字出現的次數MySql
- 帝國CMS 批次修改欄位內容sql語句SQL
- 使用SQL語言 替換資料庫某欄位內的部分內容SQL資料庫
- uniapp獲取通知欄內容 監聽通知欄內容APP
- MySQL show status命令常用輸出欄位詳解MySql
- 如何在MySQL中實現替換欄位部分內容MySql
- mysql修改某個欄位(替換關鍵字內容)MySql
- JavaScript 替換字串全部指定內容JavaScript字串
- Mysql 的編碼方式使得欄位內容不區分大小寫MySql
- 在ASP.NET中將資料直接輸出成Excel內容 (轉)ASP.NETExcel
- 在sqlplus中呼叫in out輸入輸出引數的儲存過程SQL儲存過程
- 表存在Clob、Blob欄位,dblink報錯的解決辦法
- 不確定的資料結構試驗clob欄位儲存資料結構
- sqlplus格式化輸出(輸出結果顯示在同一行)SQL
- SQLPLUS執行輸出SQL
- PHP獲取目錄中的全部內容RecursiveDirectoryIteratorPHP
- cat-合併輸出多個檔案的內容
- ccat – 使用語法突出顯示輸出內容
- Java讀取本地檔案內容並輸出Java
- MongoDB db.serverStatus()輸出內容中文註釋MongoDBServer
- SQL Server中text型別匯入oracle clob欄位時的設定SQLServer型別Oracle
- mysql資料表按照某個欄位分類輸出MySql