sql server 中查詢表或列是否存在

來源:互聯網
上載者:User

確定表是否存在

1.  使用系統檢視表: sys.tables

      select    name     from     sys.tables     where   name = ' tablaName'    and type = 'u'

      type = 'u' 是排除預存程序和視圖及系統資料表等,指的是使用者表User_Table。

2.  使用系統檢視表:sysobjects   
     select   *   from   sysobjects   where   id   =   object_id('UserSubsysCentHistory_null')   and   xtype   =   'u'

     xtype   =   'u' 是排除預存程序和視圖及系統資料表等,指的是使用者表User_Table。

 確定列是否存在

1  假設表為aaa,要添加的欄位是name欄位.   
        select   *   from   syscolumns   where   [name]='name'   and   OBJECTPROPERTY(id,'IsUserTable')=1   and   object_name(id)='aaa')  

 -------------------------------------------------------------------------------------------------------------------------------

注意;
     

  EntityManager em=super.getEntityManager(AppConfig.PERSISTENCE_CENT);
  Object result=em.createNativeQuery(sql).getSingleResult();

 對  getSingleResult()

 

Throws:
NoResultException - if there is no result : 傳回值是 0
NonUniqueResultException - if more than one result :結果多餘一個

所以應保證有且僅有一條記錄才可以。那麼可以改用 List   getResultList(),通過判斷它的size()來確定是否有結果。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.