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

MSSQL
SQL Server导入导出数据三种方式比较
SQL Server_8525引擎错误怎么办?
Sql Server的复制功能快速学习
汇总SQL Server 2000安装常见问题
存储过程实例:SQL Server Sa密码破解
SQL Server危险扩展删除与恢复详解
SQL Server注入的四种个人经验和技巧方法
SQL Server对上亿表的排序和join的问题解决
使用SQL Server中COALESCE()函数的方法
SQL Server 2005混合模式登录配置
解决SQL Server不允许进行远程连接
SQL Server 2005的output子句用法
Oracle和SQL Server分析挖掘函数
mysql INSERT command denied to user
未与信任 SQL Server 连接相关
SQL Server存储的层级数据读出成树显示
SQL Server存储层级数据实现无限级分类
MySQL server has gone away问题原因
sqlserver与oracle的区别
mysql与sqlserver的所有区别

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


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