sqlserver查詢數據
① sqlServer如何用T-SQL命令查詢一個資料庫中有哪些表
所有用戶表都存放在資料庫中的系統對象表sysobjects中。
筆者以個人專用資料庫為例:
select *
from sysobjects --系統對象表
where xtype = 'U' --U表示所有用戶表
執行後影響的行數為180(rows),如下圖:
② sql server 如何查找最後一條插入的記錄
SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY
是相似的函數,因為它們都返回插入到標識列中的值。
IDENT_CURRENT 不受作用域和會話的限制,而受限於指定的表。IDENT_CURRENT
返回為任何會話和作用域中的特定表所生成的值。有關詳細信息,請參閱IDENT_CURRENT
(Transact-SQL)。
SCOPE_IDENTITY 和 @@IDENTITY
返回在當前會話中的任何錶內所生成的最後一個標識值。但是,SCOPE_IDENTITY 只返回插入到當前作用域中的值;@@IDENTITY
不受限於特定的作用域。
例如,有兩個表 T1 和 T2,並且在 T1 上定義了 INSERT 觸發器。當將某行插入 T1 時,觸發器被激發,並在 T2
中插入一行。該方案演示了兩個作用域:在 T1 上的插入,以及在 T2 通過觸發器的插入。
假設 T1 和 T2 都有標識列,@@IDENTITY 和 SCOPE_IDENTITY 將在 T1 上的 INSERT
語句的最後返回不同的值。@@IDENTITY 將返回在當前會話中的任何作用域內插入的最後一個標識列的值。這是在 T2
中插入的值。SCOPE_IDENTITY() 將返回在 T1 中插入的 IDENTITY 值。這是在同一個作用域內發生的最後的插入。如果在任何 INSERT
語句作用於作用域中的標識列之前調用 SCOPE_IDENTITY() 函數,則該函數將返回 Null。
如果語句和事務失敗,它們會更改表的當前標識,從而使標識列中的值出現不連貫現象。即使未提交試圖向表中插入值的事務,也永遠無法回滾標識值。例如,如果因
IGNORE_DUP_KEY 沖突而導致 INSERT 語句失敗,表的當前標識值仍然會增加。
節選自sqlserver 教程 SCOPE_IDENTITY (Transact-SQL)
③ sqlserver怎麼查看錶的內容
1、打開並登錄sql查詢分析器。