問題:上級單位要來檢查數據,我的服務器的數據庫是SQL server 2000,上級單位要求我用SQL語句在服務器端隨機查詢50條數據出來。可是我的服務器裡有些錯誤數據不希望他們看到,能不能有什麼辦法不讓他們看到。
SQL語句: select top 50 x from a_1 where c=xxxx
語句就是要求這樣寫,然後他們來運行,怎麼辦,有什麼辦法可以在sql server上設置,然後使得這50條數據只在我找出的數據(比如正確的數據400)裡隨機查詢出。盡量不要改動SQL語句。
Peak Wong:
可用視圖:
對方抽取時:
select top 50 * from t_view --視圖名
order by newID()
在生成視圖時,把不顯示出來的排除。視圖在查詢時,也就是一個表名的方式//只要對方不知道數據庫表就行了。
SQL code
復制代碼 代碼如下:
select top 10 ID,Name
into T--生成測試表
from sysobjects
go
create view Test--生成視圖名
as
select * from T where ID>5
go
select top 2 * from test order by newID()--隨機取兩條
說明:視圖名,最好與表名比較相似就行了。create view Test--生成視圖名
with ENCRYPTION--加密一下,讓對方看不到你的視圖語句
as
select * from T where ID> 5
go
本篇文章來源於 站長資訊網 原文鏈接:http://sqlserver.chinahtml.com/2007/119613367717217.shtml