CREATE OR REPLACE FUNCTION Get_Record_Count(p_table_name varchar2)
10多年的江安網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。營銷型網(wǎng)站的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調整江安建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)從事“江安網(wǎng)站設計”,“江安網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
RETURN INT
IS
-- 動態(tài)SQL的游標.
v_CursorID INTEGER;
-- 動態(tài)執(zhí)行的SQL語句.
v_sql varchar2(1000);
-- SQL 執(zhí)行的返回值,可以不理會該數(shù)據(jù).
v_Dummy INTEGER;
-- 用于保存讀取出來的數(shù)據(jù).
v_result INT ;
BEGIN
-- 設置好需要動態(tài)執(zhí)行的 SQL 字符串.
v_sql:=
'SELECT COUNT(1) from ' || p_table_name ;
-- 打開游標.
v_CursorID := DBMS_SQL.OPEN_CURSOR;
-- 分析查詢.
DBMS_SQL.PARSE(v_CursorID, v_sql, DBMS_SQL.V7);
-- 定義好要輸出的列.
DBMS_SQL.DEFINE_COLUMN(v_CursorID, 1, v_result);
-- 執(zhí)行動態(tài)SQL.
v_Dummy := DBMS_SQL.EXECUTE(v_CursorID);
LOOP
IF DBMS_SQL.FETCH_ROWS(v_CursorID) = 0 THEN
-- 如果沒有提取到記錄,那么退出循環(huán)
EXIT;
END IF;
-- 提取動態(tài)SQL執(zhí)行出來的結果.
DBMS_SQL.COLUMN_VALUE(v_CursorID, 1, v_result);
END LOOP;
-- 關閉游標
DBMS_SQL.CLOSE_CURSOR(v_CursorID);
-- 返回
RETURN v_result;
END ;
/
DECLARE
v_table_index INT;
v_table_name VARCHAR(20);
v_data_count INT;
BEGIN
v_data_count := 0;
FOR v_table_index IN 0..999 LOOP
-- 組合表名
v_table_name := 'message_' || TO_CHAR(v_table_index, '000');
-- 取得記錄數(shù)
v_data_count := v_data_count + Get_Record_Count();
END LOOP;
-- 輸出結果
dbms_output.put_line( TO_CHAR(v_data_count) );
END
沒編譯 測試 運行 過.
方法如下:
輸入select * from dba_users; 即可。
常用語句:
一,查看數(shù)據(jù)庫里面所有用戶:
select * from dba_users;
前提是你是有dba權限的帳號,如sys,system。
二,查看你能管理的所有用戶:
select * from all_users;
三,查看當前用戶信息 :
select * from?user_users;
擴展資料:
Oracle數(shù)據(jù)庫最新版本為Oracle Database 12c。Oracle數(shù)據(jù)庫12c引入了一個新的多承租方架構,使用該架構可輕松部署和管理數(shù)據(jù)庫云。
此外,一些創(chuàng)新特性可最大限度地提高資源使用率和靈活性,如Oracle Multitenant可快速整合多個數(shù)據(jù)庫,而Automatic Data Optimization和Heat Map能以更高的密度壓縮數(shù)據(jù)和對數(shù)據(jù)分層。
這些獨一無二的技術進步再加上在可用性、安全性和大數(shù)據(jù)支持方面的主要增強,使得Oracle數(shù)據(jù)庫12c?成為私有云和公有云部署的理想平臺。
Oracle數(shù)據(jù)庫具有完整的數(shù)據(jù)管理功能:
1)數(shù)據(jù)的大量性
2)數(shù)據(jù)的保存的持久性
3)數(shù)據(jù)的共享性
4)數(shù)據(jù)的可靠性
參考資料:百度百科:Oracle數(shù)據(jù)庫
ORACLE下有三個視圖
DBA_TABLES 擁有DBA角色的用戶可以查看系統(tǒng)中的所有表
USER_TABLES 登錄數(shù)據(jù)庫的當前用戶擁有的所有表
ALL_TABLES 登錄數(shù)據(jù)庫的當前用戶有權限查看的所有表
類似的,除了表,還有視圖、存儲過程、同義詞等等對象,使用[DBA|USER|ALL]_TABLES可以查看到你想要的對象
1、創(chuàng)建測試表,
create table test_cols(id varchar2(20),remark varchar2(20),ex_filed1 varchar2(20),ex_filed2 varchar2(20));
2、編寫sql,查看系統(tǒng)視圖,可以看到該用戶下所有表的字段信息,select * from user_tab_cols;
3、編寫sql,查詢剛創(chuàng)建的表,字段信息,select * from user_tab_cols t where table_name = 'TEST_COLS';
4、編寫sql,查詢該表的字段數(shù),這樣對于字段較多的表,結果更明顯;
select count(distinct column_name) from user_tab_cols t where table_name = 'TEST_COLS'
select * from dba_users; 查看數(shù)據(jù)庫里面所有用戶,前提是你是有dba權限的帳號,如sys,system
select * from all_users; 查看你能管理的所有用戶!
select * from user_users; 查看當前用戶信息 !
-- 查詢你 當前用戶下,有哪些表
SELECT * FROM user_tables
-- 查詢你 當前用戶下, 可以訪問哪些表 [也就是訪問自己 和 其他用戶的]
SELECT * FROM all_tables
-- 查詢當前數(shù)據(jù)庫所有的表, 需要你有 DBA 的權限
SELECT * FROM dba_tables
需要用count函數(shù)來實現(xiàn)。
如test表中有如下數(shù)據(jù):
現(xiàn)要查詢每個deptno下的人數(shù),可用如下語句:
select?deptno,count(*)?from?emp?group?by?deptno;
查詢結果: