当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 用SQL语句实现随机查询数据并不显示错误数据的方法

MSSQL
SQL Server中常使用的DBCC命令
Windows2003服务器安装设置教程:MSSQL安全篇
MySql教程:两个表之间更新数据
asp.net网站开发中使用Sqlite嵌入式数据库
Microsoft SQL Server SA权限安全
SQL Server帐号孤立的问题解决
SQL server教程:SQL语法
修复MSSQLSERVER数据库置疑的步骤
安全基础知识 细说暴库的原理与方法
MSSQL和Mysql自定义函数与存储过程
MSSQL数据库不能手动创建新的连接
ASP连接MSSQL的错误: 拒绝访问
MSSQL数据库镜像在Oracle中是如何实现的
写给菜鸟站长:解读你的茫然
教你创建动态MSSQL数据库表
MSSQL下用UNION和系统表配合猜表名和字段名深度注入
Public权限下的列目录
phpBB 3.0.6 RC1简单介绍和下载
SQL Server:SQL中如何正确认识触发器
SQL Server:如何正确理解存储过程

MSSQL 中的 用SQL语句实现随机查询数据并不显示错误数据的方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 128 ::
收藏到网摘: n/a

问题:上级单位要来检查数据,我的服务器的数据库是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