社区
MS-SQL Server
帖子详情
惊闻SQL Server可以创建虚拟表名,不知你们有没有听说过?!
日总是我哥
2002-08-19 10:17:25
刚才听一同事说,
他原来看过别人做的ERP系统的数据库中,
其表名有二,一是虚拟表名(它仅仅是在Enterprise中可以查看),但不可以对它操作!
另一是真正的表名,用Enterprise看不见,而Select, Update等语句仍可以用!
不知如何实现!
呵呵,说到这里我又想起了“卖火柴的”了,
等等,我去把那贴从海底给捞起来... :-)
...全文
693
57
打赏
收藏
惊闻SQL Server可以创建虚拟表名,不知你们有没有听说过?!
刚才听一同事说, 他原来看过别人做的ERP系统的数据库中, 其表名有二,一是虚拟表名(它仅仅是在Enterprise中可以查看),但不可以对它操作! 另一是真正的表名,用Enterprise看不见,而Select, Update等语句仍可以用! 不知如何实现! 呵呵,说到这里我又想起了“卖火柴的”了, 等等,我去把那贴从海底给捞起来... :-)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
57 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
日总是我哥
2002-09-02
打赏
举报
回复
刚才跟saucer聊了一会儿~~~
好像直接影响了我些什么...具体是什么,我也说不上来!
----------------------------------------------------------
我把两张贴都结了~~~~~~~~~~~~
有兴趣的朋友也可以继续深入下去。
也可以继续在这里探讨!我也支常来看看...
CSDNM
2002-09-01
打赏
举报
回复
怎么搞的。
日总是我哥
2002-09-01
打赏
举报
回复
icevi(按钮工厂) :
http://expert.csdn.net/Expert/TopicView1.asp?id=983949 中的回复:
///////////////////////////////////////////////////
回复人: saucer(思归) ( ) 信誉:150 2002-08-31 12:06:00 得分:0
I heard the book <<Inside SQL Server 2000>> provides some hints about the data file structure
///////////////////////////////////////////////////
我已经向英雄saucer发出短信息:-)
wjlsmail
2002-08-31
打赏
举报
回复
:)
TianHuNan
2002-08-31
打赏
举报
回复
是真是假,值得关注!
yxsalj
2002-08-31
打赏
举报
回复
mark
日总是我哥
2002-08-31
打赏
举报
回复
其实
我那个数据库也是昨天下午才搞定的,呵呵:-)
正如,我一开始所说,可以把它的名字改为其它的,以造成假象
索性,我就把它全部清0了,呵呵,看都看不到了,真是好玩...
谢谢按钮JJ ,日后帮我一起“破解mdf, ldf”文件格式吧??!
日总是我哥
2002-08-31
打赏
举报
回复
to 回复人: icevi(按钮工厂) :
呵呵:-)
我今天特地上来看看我这两张贴子!
佩服呀,2002-8-31 3:25:41??!这个时间你还没睡呀??!!
看来,也要跟http://expert.csdn.net/Expert/TopicView1.asp?id=984478这里一样,给你一点钱钱花啦^o^
8992026
2002-08-31
打赏
举报
回复
下来看看!
freshboy0913
2002-08-31
打赏
举报
回复
搞错没有,SQL数据库中的虚拟表就是指视图呀,各位还在怀疑什么呀 :(
icevi
2002-08-31
打赏
举报
回复
好消息!!!
知道这个表是怎么回事了:D
我把这个文件下载来研究了一番。确实是企业管理器里看不到表名,但这个表是存在的,用语句也可以操作。而且我用查询分析器出现以下现象:
1、用:
select name,id from sysobjects where xtype='U'
看不到表名
2、用:
select id,name,len(name),datalength(name),cast(name as binary)
from sysobjects
where name='table1'
看得到表名
3、用:
select id,name,len(name),datalength(name),cast(name as binary)
from sysobjects
where id=357576312
也看不到表名
所以觉得数据库文件里可能不一致,有的地方存有表名,有的地方表名被清空了。
所以我在数据库里创建了一个新表table2,打开二进制文件进行查找,发现table2被找到三处,而table1只找到两处。所以有一处被清空了。最后确定了是在偏移地址 0x11646 处被清空了。将这里的连接几位改成"T a b l e 1" 。
改完应该从OX11642开始是:
01 00 3e 00 54 00 61 00 62 00 6c 00 65 00 31 00
再在SQLSERVER里刷新一下(其实中间做了脱机、联机的操作了的),就看到这个表名了。
我觉得这可能与索引的存储有关系。sysobjects建有三个索引,其中sysobjects是按字段id建的是簇集索引。ncsysobjects按字段name+id,非簇集索引。
我觉得这个被改的地方是簇集索引所在的地方。
所以上面第一个SQL语句在查询时会用簇集索引sysobjects来得到name值,所以是空的。
第二个SQL语句因为WHERE后用NAME做条件,所以会用到索引ncsysobjects,这个索引的键值是正常的,所以能得到name值。
第三个SQL语句WHERE后是用ID做条件,所在也是用sysobjects这个索引来取值,所以也是空的。
在查询分析器里显示所有表估计也是用第一个SQL语句那样的,所以是看不到表名了。
icevi
2002-08-31
打赏
举报
回复
CoolSlob() :
有没有分无所谓了。只是觉得挺好玩的:)
其实昨晚一直在玩游戏,2点多才开始搞这个东东:P
以前玩游戏作弊,也是差不多这种做法的,呵呵.......
很乐意一起研究...当然如果能找到资料直接告诉我们这个文件格式就太好了,这样自己找法,好痛苦啊~~
日总是我哥
2002-08-30
打赏
举报
回复
to 回复人: N_chow(一劍飄香):
是啊,还需努力呀:-)
还需帮忙呀:-)
N_chow
2002-08-30
打赏
举报
回复
這應該不算是虛擬吧??
雖然在EM中看不到表名,可在SQL Query Analzyer的Object Browser中一樣可以看到table1及它的欄位名字啊。
日总是我哥
2002-08-30
打赏
举报
回复
也不知道我对“虚拟表”这一概念是不是定义错了
但愿没有误导大家:(
日总是我哥
2002-08-30
打赏
举报
回复
http://CoolSlob.8u8.com/Download/crack1
上面的是一个数据库!SQL Server 2000格式!
其中有一个表为Table1,而在Enterprise中却看不到:-)
但你仍可以在查询分析器做任何操作,如:
Select * From Table1
Insert Table1 ....
Update Table1 ....等待!
不要问我这样做有什么好处...
谢谢关注!
相关链接:http://www.csdn.net/expert/topic/983/983949.xml
日总是我哥
2002-08-26
打赏
举报
回复
或许,我称呼的“虚拟表”是错误的!
或许,它根本不叫“虚拟表”
大家为什么总在“虚拟表”上找问题呢??!
zqllyh
2002-08-25
打赏
举报
回复
还没结果吗?我在帮助里查,看到不少这样的语句:视图也称为虚拟表,
所以我还是认为是视图。
学习。。。
weixy
2002-08-24
打赏
举报
回复
CREATE VIEW
创建一个虚拟表,该表以另一种方式表示一个或多个表中的数据。CREATE VIEW 必须是查询批处理中的第一条语句。
SQL 视图
视图可以被看成是虚拟表或存储查询。可通过视图访问的数据不作为独特的对象存储在数据库内。数据库内存储的是 SELECT 语句。SELECT 语句的结果集构成视图所返回的虚拟表。用户可以用引用表时所使用的方法,在 Transact-SQL 语句中通过引用视图名称来使用虚拟表。
日总是我哥
2002-08-24
打赏
举报
回复
好啊好啊
你也迷茫
我们就有伴了!!
强烈建议:把 "口气不小" -> "我心迷茫"
加载更多回复(37)
SQL
Server
2019数据库基础入门视频教程
本课程使用
sql
server
2019版本的数据库进行讲解。主要讲解
SQL
Server
的基本操作和
SQL
主要语法,注重基础性和实用性。软件公司里面各个岗位包括实施、运维、客服、测试、程序员等都涉及数据库的使用,学会本课程足可以胜任日常数据库工作。 数据库操作是软件行业人员必备的技能,这门课程主要是针对从事软件技术的新人的,适合在校大学生和软件公司新入职员工。我讲的这门课程主要涉及
SQL
Server
数据的基础操作和
SQL
语法,因为99.9%的软件技术人员掌握这些就可以了,数据库的大部分功能,我们平时是用不到的,所以不用花太多时间去研究,在需要的时候百度就可以了。每节课程都结合工作实际,并且经过认真准备。把这门课程里面的内容学会,足以胜任日常性
SQL
Server
数据库相关的工作。
SQL
SERVER
存储过程动态
创建
数据库及数据表
【代码】
SQL
SERVER
存储过程动态
创建
数据库及数据表。
sql
Server
表名
|字段|备注查询
sql
Server
查询
表名
与描述 SELECT tbs.name as tableName,ds.value as tableComment FROM sys.extended_properties ds LEFT JOIN sysobjects tbs ON ds.major_id=tbs.id WHERE ds.minor_id=0
sql
Server
查询表中字段名与描述 select a1.name as columnName,b.value as columnComment from sy
SQL
Server
中,删除表,删除表中数据
SQL
Server
,我们现在基本上使用的最古老的版本应该是
SQL
Server
2000吧,应该没有更早的版本了吧?!从
SQL
Server
2000开始,到
SQL
Server
2005,2008,2012等,T-
SQL
的处理能力越来越强。今天我们就来说说如何使用T-
SQL
脚本来删除表,以及删除表中的数据。 删除表和删除表数据这是两回事!删除表表示不管表中
有没有
数据,将该数据库表彻底抹去
一文解析
SQL
Server
数据库
一文解析
SQL
Server
数据库目录 ????️????开讲啦!!!!????️????苏州程序大白????️????????博主介绍前言数据定义(DDL)
创建
删除修改查询数据操纵(DML)增(insert into)删(delete)改(update)查(select)聚合函数????作者相关的文章、资源分享???? 目录 ????️????开讲啦!!!!????️????苏州程序大白????️???? ????博主介绍 ???? 个人主页:苏州程序大白 ????作者介绍:中国DBA联
MS-SQL Server
34,590
社区成员
254,589
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章