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

MSSQL
SQL server 随机数函数
SQLServer Top语句参数化方法
SQLServer EVENTDATA()函数来获取DDL 触发器信息
sql server 常用的几个数据类型
SQL Server 排序函数 ROW_NUMBER和RANK 用法总结
数据库Left join , Right Join, Inner Join 的相关内容,非常实用
MySql 安装时的1045错误
SQL Server 中查看SQL句子执行所用的时间
模糊查询的通用存储过程
sql 查询慢的原因分析
SQL Server 数据库优化
数据库 日期加减处理
sql 触发器使用例子
sql 刷新视图
提升SQL Server速度 整理索引碎片
恢复.mdf 数据库步骤
Sql 批量替换所有表中内容
Sql 批量查看字符所在的表及字段
SQLServer XML数据的五种基本操作
SQL Server使用Merge语句当源表数据集为空时,无法进行查询的问题

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 85 ::
收藏到网摘: 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