无聊,也来放分

realgz 2003-11-24 02:23:12
要回答点问题才行,权当交流
我每一段时间想一个问题,先总共凑满4个问题,每个问题最先答基本对者给20分,剩下的随便给up 的人。
第一个问题:
SQL 6.0数据库想升级成SQL 2000数据库大概需要经过几个步骤?
...全文
32 61 打赏 收藏 转发到动态 举报
写回复
用AI写文章
61 条回复
切换为时间正序
请发表友善的回复…
发表回复
hglhyy 2003-11-29
  • 打赏
  • 举报
回复
bug!!

为什么 楼主结贴了却没有记录
realgz 2003-11-27
  • 打赏
  • 举报
回复
为什么我结贴了却看不见结贴记录?!
jingxijun 2003-11-27
  • 打赏
  • 举报
回复
学习
realgz 2003-11-27
  • 打赏
  • 举报
回复
现在谈一下我的参考答案吧,因为SQL Server也是初学,如果有什么不对的请不吝赐教!

第一个问题:
我有一个SQL 6.0数据库想升级成SQL 2000数据库大概需要经过几个步骤?

答案:M$居然是这样说的:先升级成6.5,然后再升级成2000!万一没有6.5的正版不是鼓励盗版了?!

第二个问题:
我们知道SQl Server 可以在同一机器上有N个实例,使用TCP/IP协议的话应该注意一些什么才能保证让我们的客户端正确连接到服务器?
例如:
我的主机 Server上存在 server\test1 和server\test2 两个实例
我想在另一台电脑上连接test2
另:
两台电脑之间只允许tcp/ip,
例如它们之间要经过很多个路由器?
server ip 192.112.12.3/255.255.255.0
另一台机器 ip 10.25.61.3/255.0.0.0

答案:保证网络畅通当然是必须的了,然后服务器端运行svrnetcn.exe,客户端运行cliconfg.exe以使监听/请求端口相同。但实际使用中郁闷的事情很多,比如BDE在XP里似乎永远没办法使用TCP/IP好好连接,都要用命名管道才好好工作。

第三个问题:
什么情况下下面这段代码在 查询分析器里会出错?要报告语法/语句的错误 。

if exists (select 1 from sysobjects where name='test' and xtype='P')
drop procedure test
go

create procedure dbo.test
@Temp varchar(255)
as
set @Temp='abc'
while len(@temp)<200
set @temp=@temp+@temp
PRINT @temp
go

答案:区分大小写以后,@temp成了一个新变量。

第四个问题,问个老题吧:
现在存在下面这样一张表
注意:姓名不唯一!

姓名

张三
李四
王五
李四
……

问,不用identity可以用什么方法select 出下面的效果?
注:一句话者得满分!每多一句扣50%的分数。
序号 姓名

1 张三
2 李四
3 王五
4 李四
……

答案:我总觉得应该可以一句话搞定,只要想办法区分相同的记录就ok了,但想了很久也没确实可行的办法,只好
select newid() cnt ,* into #tmp from table
select (select count(*) from #tmp t where t.cnt<=#tmp.cnt),* from #tmp

请大家看下这句话,原来是不可以的!
select (select count(*) from tmp t where t.cnt<=tmp.cnt),*
from (select newid(),* from table) tmp
friendliu 2003-11-26
  • 打赏
  • 举报
回复
UP!
realgz 2003-11-26
  • 打赏
  • 举报
回复
最后up 一天。
realgz 2003-11-26
  • 打赏
  • 举报
回复
最后一次up。明天公布参考答案。
tongcheng 2003-11-26
  • 打赏
  • 举报
回复
接分
tongcheng 2003-11-26
  • 打赏
  • 举报
回复
up
hglhyy 2003-11-26
  • 打赏
  • 举报
回复
如果我两台电脑之间只允许tcp/ip,
例如它们之间要经过很多个路由器?
server ip 192.112.12.3/255.255.255.0
另一台机器 ip 10.25.61.3/255.0.0.0


在另一台的默认网关设为server 192.112.12.3
首选DNS也设为 192.112.12.3
应该可以搞定

realgz 2003-11-26
  • 打赏
  • 举报
回复
再up
realgz 2003-11-25
  • 打赏
  • 举报
回复
1、shuiniu(用泪水灌溉幸福)到:
http://expert.csdn.net/Expert/TopicView1.asp?id=2492377
领钱

2、顺便公布第三题标准答案:
如果 你的SQL Server指定了大小写敏感,会出错:
必须声明变量@Temp
realgz 2003-11-25
  • 打赏
  • 举报
回复
就一个列。
shuiniu 2003-11-25
  • 打赏
  • 举报
回复
表有主键吗?
MartinWang 2003-11-25
  • 打赏
  • 举报
回复
up:)
realgz 2003-11-25
  • 打赏
  • 举报
回复
第四个问题似乎 和SQL 的一个bug(?不太确定是不是一个bug) 有关,我实验不出来,改为:
两句话满分,一句话另外开贴再另外加40分!
lynx1111 2003-11-25
  • 打赏
  • 举报
回复
有一分是一分!~
sunxiangjiutian 2003-11-25
  • 打赏
  • 举报
回复
有一分是一分!~
realgz 2003-11-25
  • 打赏
  • 举报
回复
一大早,过来发送第四个问题,连同前面三个进行一次整理。
环境:windows2000,当前用户为windows2000管理员,机器上除了sql server 2000安装光盘没有其他可用的数据库工具。

第一个问题:
我有一个SQL 6.0数据库想升级成SQL 2000数据库大概需要经过几个步骤?

第二个问题:
我们知道SQl Server 可以在同一机器上有N个实例,使用TCP/IP协议的话应该注意一些什么才能保证让我们的客户端正确连接到服务器?
例如:
我的主机 Server上存在 server\test1 和server\test2 两个实例
我想在另一台电脑上连接test2
另:
两台电脑之间只允许tcp/ip,
例如它们之间要经过很多个路由器?
server ip 192.112.12.3/255.255.255.0
另一台机器 ip 10.25.61.3/255.0.0.0

第三个问题:
什么情况下下面这段代码在 查询分析器里会出错?要报告语法/语句的错误 。

if exists (select 1 from sysobjects where name='test' and xtype='P')
drop procedure test
go

create procedure dbo.test
@Temp varchar(255)
as
set @Temp='abc'
while len(@temp)<200
set @temp=@temp+@temp
PRINT @temp
go

第四个问题,问个老题吧:
现在存在下面这样一张表
注意:姓名不唯一!

姓名

张三
李四
王五
李四
……

问,不用identity可以用什么方法select 出下面的效果?
注:一句话者得满分!每多一句扣50%的分数。
序号 姓名

1 张三
2 李四
3 王五
4 李四
……
changwang23 2003-11-25
  • 打赏
  • 举报
回复
不会。
加载更多回复(41)

11,851

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧