我想死个明白!

zkfly 2001-01-04 04:21:00
我只想搞清楚为什么错。
在一个数据库里如果存在一个表"New"那么就把表"Old"的数据插入New里面;
如果不存在New这个表就创建"New"并把表"Old"的数据插入New里面,
(同时,我可以保证如果存在New这个表,那它和表Old的结构是一样的)
但是它出错了:

if exists (select * from sysobjects where id = object_id('New'))
insert into New select * from Old
else
select * into New from Old

这样也是错的:
if exists (select * from sysobjects where id = object_id('New'))
insert into New select * from Old
else
CREATE TABLE dbo.New (
user_name varchar (10) NOT NULL ,
pwd varchar (40) NOT NULL ,
)

环境为:
MSSQL6.5

...全文
597 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
ePing 2001-01-08
  • 打赏
  • 举报
回复
应该没有什么问题

:o)
zkfly 2001-01-08
  • 打赏
  • 举报
回复
真的没人知道,没人想告诉我。:<
zkfly 2001-01-08
  • 打赏
  • 举报
回复
咳,看来是没法了。
那么认为它是MSSQL6.5的问题吧。
nononono 2001-01-05
  • 打赏
  • 举报
回复
是不是有名字为"New"的其它对象?如存储过程、视图等等?
zkfly 2001-01-05
  • 打赏
  • 举报
回复
各位老大们:
if exists (select * from sysobjects where id = object_id('New')) //如果存在New
insert into New select * from Old //插入
else //如果不存在
select * into New from Old //创建

但是MSSQL6.5说它错了??????
michaelzhang 2001-01-05
  • 打赏
  • 举报
回复
你先用select * from sysobjects where id = object_id('New')
看看什么结果。是不是已经有了对象。
michaelzhang 2001-01-05
  • 打赏
  • 举报
回复
是不是有名称为‘NEW’的视图。
zkfly 2001-01-05
  • 打赏
  • 举报
回复
呵呵,它说:
Msg 170, Level 15, State 1
Line 1: Incorrect syntax near '['.
:<
nononono 2001-01-05
  • 打赏
  • 举报
回复
再有,别用这么简单的单词做对象名,容易和关键字等冲突。
yangzi 2001-01-05
  • 打赏
  • 举报
回复
呵呵,用下面的语句试试:
if exists (select * from sysobjects where id = object_id('New'))
insert into [New] select * from [Old] else
select * into [New] from [Old]
wwl007 2001-01-04
  • 打赏
  • 举报
回复
那就先drop啊
zkfly 2001-01-04
  • 打赏
  • 举报
回复
To:yangzi
首先:开了
其次:管理员的权限
然后:
如果我的“New”这张表存在就会出现
Msg 2714, Level 16, State 1
There is already an object named 'New' in the database.

如果我的“New”这张表不存在就会出现
Msg 208, Level 16, State 1
Invalid object name 'New'.
奇怪吧!!!!!!!!!!!!!!!!!!!!!!!!!!!!
yangzi 2001-01-04
  • 打赏
  • 举报
回复
首先看一下数据库的属性:Select into /bulk copy是否打开?
其次;登录的用户有无权限?
然后:试试你的语句。
把你的错误贴出来。

zkfly 2001-01-04
  • 打赏
  • 举报
回复
To:arthree
打开了。
To:michaelzhang
真的不行耶
michaelzhang 2001-01-04
  • 打赏
  • 举报
回复
看来你要不明不白的死去了:)

我这样写一点问题都没有。我是mssql7.0
arthree 2001-01-04
  • 打赏
  • 举报
回复
insert into的选项打开了没有?

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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