問題:上級單位要來檢查數(shù)據,我的服務器的數(shù)據庫是SQL server 2000,上級單位要求我用SQL語句在服務器端隨機查詢50條數(shù)據出來。可是我的服務器里有些錯誤數(shù)據不希望他們看到,能不能有什么辦法不讓他們看到。
SQL語句: select top 50 x from a_1 where c=xxxx
語句就是要求這樣寫,然后他們來運行,怎么辦,有什么辦法可以在sql server上設置,然后使得這50條數(shù)據只在我找出的數(shù)據(比如正確的數(shù)據400)里隨機查詢出。盡量不要改動SQL語句。
Peak Wong:
可用視圖:
對方抽取時:
select top 50 * from t_view --視圖名
order by newID()
在生成視圖時,把不顯示出來的排除。視圖在查詢時,也就是一個表名的方式//只要對方不知道數(shù)據庫表就行了。
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