SqlServer动态表查询
生活随笔
收集整理的這篇文章主要介紹了
SqlServer动态表查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
事情是這樣字的,有的時候我們想去比較兩個值類型需要寫一個方法,我們比較兩個字符類型也需要寫一個方法,在c#里面有通用類型-泛型,我們可以通過一個泛型方法就可以搞定。
那么有的時候啊,我們也想通過存儲過程,我們傳入表名,查詢出相對應表的數據,我們假裝t-sql也可以面向對象
首先我們假設直接定義一個參數接收這個表名,然后直接select查詢結果:
declare @tablName nvarchar(50) declare @sql nvarchar(100) set @tablName = 'tb'; select * from [@tablName]好像并沒有錯誤
執行一下:對象名 '@tablName' 無效。
分析一下:這里定義了一個nvarchar類型,不管怎么樣,這個定義的變量是一個字符串,查詢一個字符串表那應該是會出錯的,把select * from [@tableName]改成select @tableName,執行一下,結果是一個字段'tb'。so
so,我們字符串拼接,然后執行這個拼接的字符串:
declare @tablName nvarchar(50) declare @sql nvarchar(100) set @tablName = 'tb'; set @sql = 'select * from '+@tablNameexec(@sql)結果:
總結
以上是生活随笔為你收集整理的SqlServer动态表查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SCP 不输入密码
- 下一篇: map area 鼠标跟随