列出沒有主鍵或唯一索引的表

2021-06-12 13:57:35 字數 2673 閱讀 3164

以下指令碼可以用於列出資料庫中沒有主鍵的表,已排除了系統schema

select owner, table_name

from dba_tables

where 1 = 1

and owner not in ('sys',

'system',

'sysman',

'exfsys',

'wmsys',

'olapsys',

'outln',

'dbsnmp',

'ordsys',

'ordplugins',

'mdsys',

'ctxsys',

'aurora$orb$unauthenticated',

'xdb',

'flows_030000',

'flows_files',

'apex_030200',

'ix',

'oe',

'orddata',

'sh',

'owbsys')

minus

select owner, table_name

from dba_constraints

where constraint_type = 'p'

and owner not in ('sys',

'system',

'sysman',

'exfsys',

'wmsys',

'olapsys',

'outln',

'dbsnmp',

'ordsys',

'ordplugins',

'mdsys',

'ctxsys',

'aurora$orb$unauthenticated',

'xdb',

'flows_030000',

'flows_files',

'apex_030200',

'ix',

'oe',

'orddata',

'sh',

'owbsys');

以下指令碼可以用於列出資料庫中沒有唯一約束或索引的表,已排除了系統schema

select owner, table_name

from dba_all_tables

where 1 = 1

and owner not in ('sys',

'system',

'sysman',

'exfsys',

'wmsys',

'olapsys',

'outln',

'dbsnmp',

'ordsys',

'ordplugins',

'mdsys',

'ctxsys',

'aurora$orb$unauthenticated',

'xdb',

'flows_030000',

'flows_files',

'apex_030200',

'ix',

'oe',

'orddata',

'sh',

'owbsys')

minus

select owner, table_name

from dba_constraints

where constraint_type = 'u'

and owner not in ('sys',

'system',

'sysman',

'exfsys',

'wmsys',

'olapsys',

'outln',

'dbsnmp',

'ordsys',

'ordplugins',

'mdsys',

'ctxsys',

'aurora$orb$unauthenticated',

'xdb',

'flows_030000',

'flows_files',

'apex_030200',

'ix',

'oe',

'orddata',

'sh',

'owbsys')

minus

select owner, table_name

from dba_indexes

where uniqueness = 'unique'

and owner not in ('sys',

'system',

'sysman',

'exfsys',

'wmsys',

'olapsys',

'outln',

'dbsnmp',

'ordsys',

'ordplugins',

'mdsys',

'ctxsys',

'aurora$orb$unauthenticated',

'xdb',

'flows_030000',

'flows_files',

'apex_030200',

'ix',

'oe',

'orddata',

'sh',

'owbsys');

查詢沒有主鍵的表 沒有索引的表

1 查詢沒有主鍵的表 沒有索引的表 select so.name as 沒有主鍵的表 from sysobjects so where so.xtype u and objectproperty so.id tablehasprimarykey 0 order by name select so.n...

Sql Server 刪除表中沒有主鍵的重複資料

資料庫中的資料在很多情況下是從excel中匯入的,這就難免有些重複的資料,然而這些資料又沒有主鍵,那麼該如何去重呢?有一張資料如下的表 嘗試了很多方法,覺得有一種比較實用,步驟比較簡單 用distinct關鍵字查詢出不重複的資料後,將資料寫入虛擬表中,刪除原表,讀取虛擬表資料,寫回原表,請看 sel...

EF插入遇到的問題 表沒有主鍵時

解決方法一 看表是否有主鍵,一般就是表缺主鍵 解決方法二 若專案表都沒主鍵,把 edmx檔案裡面 包含 的語句刪除即可 很費時 當使用沒有主鍵的表完成ef對映時,會將其視為檢視。由於檢視是邏輯實體,因此無法更新。因此,要麼將丟失的主鍵新增到表中,要麼將它們視為檢視,並且不對它們執行任何更新操作。如果...