問題:上級單位要來檢查數據,我的服務器的數據庫是SQLserver2000,上級單位要求我用SQL語句在服務器端隨機查詢50條數據出來。可是我的服務器裏有些錯誤數據不希望他們看到,能不能有什麼辦法不讓他們看到。
SQL語句:selecttop50xfroma_1wherec=xxxx
語句就是要求這樣寫,然後他們來運行,怎麼辦,有什麼辦法可以在sqlserver上設置,然後使得這50條數據只在我找出的數據(比如正確的.數據400)裏隨機查詢出。儘量不要改動SQL語句。
PeakWong:
可用視圖:
對方抽取時:
selecttop50*fromt_view--視圖名
orderbynewID()
在生成視圖時,把不顯示出來的排除。視圖在查詢時,也就是一個表名的方式//只要對方不知道數據庫表就行了。
SQLcode
複製代碼 代碼如下:
selecttop10ID,Name
intoT--生成測試表
fromsysobjects
go
createviewTest--生成視圖名
as
select*fromTwhereID>5
go
selecttop2*fromtestorderbynewID()--隨機取兩條
說明:視圖名,最好與表名比較相似就行了。createviewTest--生成視圖名
withENCRYPTION--加密一下,讓對方看不到你的視圖語句
as
select*fromTwhereID>5
go