⑴ oracle sql語句 顯示樹形結構
設計的表結構不合理,怎麼能用對象設計表呢。組多兩個欄位, people_id,parent_id
只關心他們的層級關系即可。
查詢出來是
select t.people_id, t.parent_id from family t
start with t.people_id is null connect by nocycle prior t.people_id=t.parent_id。
真多多層級查詢毫無壓力。另外 對 函數的理解多參考下語法用途。nocycle 防止死循環。可以舉一反三,自己試一下 start with 中 people_id 與 parent_id 互換位置,會有額外收獲,多動手。祝你oracle 之旅愉快~
⑵ SQLServer如何查看錶結構呢有同oracle的desc一樣命令嗎
use Roy --資料庫
go
--2005實現資料庫表欄位屬性統計(2000里的系統表sysproperties描述表不存在,2005里用sys.extended_properties視圖替代)
select
[表名]=c.Name,
[表說明]=isnull(f.[value],''),
[列名]=a.Name,
[列序號]=a.Column_id,
[標識]=case when is_identity=1 then '√' else '' end,
[主鍵]=case when exists(select 1 from sys.objects x join sys.indexes y on x.Type=N'PK' and x.Name=y.Name
join sysindexkeys z on z.ID=a.Object_id and z.indid=y.index_id and z.Colid=a.Column_id)
then '√' else '' end,
[類型]=b.Name,
[位元組數]=case when a.[max_length]=-1 and b.Name!='xml' then 'max/2G'
when b.Name='xml' then '2^31-1位元組/2G'
else rtrim(a.[max_length]) end,
[長度]=case when ColumnProperty(a.object_id,a.Name,'Precision')=-1 then '2^31-1'
else rtrim(ColumnProperty(a.object_id,a.Name,'Precision')) end,
[小數]=isnull(ColumnProperty(a.object_id,a.Name,'Scale'),0),
[是否為空]=case when a.is_nullable=1 then '√' else '' end,
[列說明]=isnull(e.[value],''),
[默認值]=isnull(d.text,'')
from
sys.columns a
left join
sys.types b on a.user_type_id=b.user_type_id
inner join
sys.objects c on a.object_id=c.object_id and c.Type='U'
left join
syscomments d on a.default_object_id=d.ID
left join
sys.extended_properties e on e.major_id=c.object_id and e.minor_id=a.Column_id and e.class=1
left join
sys.extended_properties f on f.major_id=c.object_id and f.minor_id=0 and f.class=1
⑶ Oracle中有沒有可以像mysql中desc table可以打出表結構的語句
oracle里有desc的,desc + 表名,顯示的結果可以看到欄位名稱、是否為空、欄位類型。
⑷ 怎麼顯示Oracle資料庫表中的列
顯示Oracle資料庫表中的列有以下兩種方式。
1、在命令窗口下輸入desc 表名。
如:
desctest;
注意:表名必須大寫。
⑸ oracle跟蹤表結構,查看哪些表被更新的SQL
我首先想到的是觸發器(after類型),不過細琢磨了一下,似乎不那麼靠譜,如果你要關注的表有幾百張,那麼難道建立幾百個出發器么?
可能,僅僅是可能啊,這個不常用,因為比較消耗資源,你試試oracle的審計功能,大概這個能實現你的要求。不過我用審計的次數有限,而且也沒這么大規模的應用過,所以這部分只能你自己查了。
⑹ 如何查看oracle資料庫所有表結構圖
覺得你應該先弄清楚oracle的常規數據字典的結構,像9i里的常規數據字典中對象名稱就有以USER,ALL,DBA為前綴的對象。
以USER為例,我們查該對象下有些什麼表,就應該執行下列的語句:
SQL>select table_name from user_tables;
類似的,你可以進行替換。:)
如果你想查資料庫中所有的表的話,可以查詢
SELECT * FROM dba_tables
如果你想查詢資料庫中某個用戶下的表的話,也可以登錄這個用戶,再查詢:
SELECT * FROM USER_TABLES
要想導入外部sql語句可以用命令
sql >@e:\文件名.sql
如你想保存 select * from tablename;語句的結果,可以在sql*plus 裡面這樣:
SPOOL c:\test.sql //這是保存文件的位置
select * from tablename;
SPOOL OFF
⑺ ORACLE環境下用SQL語句查詢一個表的結構用什麼語句
先看看如果你不加WHERE條件能不能取到數據,如果能,那就不是許可權了。
另外,除了USER_TAB_COLUMNS,同樣還有一張表,ALL_TAB_COLUMNS,是所有表空間的數據。也可以用這個表。
⑻ PLSQL怎樣導出oracle表結構
PLSQL導出oracle表結構的具體步驟如下:
我們需要准備的材料分別是:電腦、PL/SQL Developer軟體。
1、首先我們打開需要編輯的oracle資料庫,點擊打開「tools」。
⑼ oracle怎麼通過sql查看錶的結構
分兩種方法:
1、在命令窗口通過如下語句:
desc表名;
2、用語句:
selectCOLUMN_NAME,DATA_TYPE,DATA_LENGTHfromuser_tab_colswheretable_name='TEST';