添加字段进表失败。

kuki84 2005-09-21 05:39:17
在确认gs_tbl_checkup中无s_fzlx字段的情况下,执行以下语句,s_fzlx仍添加不进表,何故?
谢谢!

if exists (Select * from dbo.syscolumns Where Name='s_fzlx' And ID=OBject_ID('gs_tbl_checkup')
)
print('警告:s_fzlx已存在于gs_tbl_checkup中,更新操作执行失败!')
else
begin
ALTER TABLE dbo.gs_tbl_checkup ADD
s_fzlx varchar(6) NULL
end
GO
...全文
405 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
kuki84 2005-11-20
  • 打赏
  • 举报
回复
揭贴了,无果.
iwl 2005-09-24
  • 打赏
  • 举报
回复
语法正确
fordfamily 2005-09-24
  • 打赏
  • 举报
回复
呵呵,在end前面加一句print('提示:s_fzlx已加入到gs_tbl_checkup中!')
caiyunxia 2005-09-23
  • 打赏
  • 举报
回复
语法正确
lisiyong 2005-09-22
  • 打赏
  • 举报
回复
hehe

极有可能

警告:s_fzlx已存在于gs_tbl_checkup中,更新操作执行失败!'

很容易产生误解.
kuki84 2005-09-22
  • 打赏
  • 举报
回复
你是不是把PRINT打印出信息当作失败啊?

晕,我没这么呆。
常遇道 2005-09-21
  • 打赏
  • 举报
回复
可以通過的
if exists (Select *
from dbo.Tbl3
Where Tflag='6'
And ID=OBject_ID(' dbo.Tbl2')
)
print('警告:Tflag已存在于gs_tbl_checkup中,更新操作执行失败!')
else
begin
ALTER TABLE dbo.Tbl2 ADD
Tflag varchar(6) NULL
end
GO
wgsasd311 2005-09-21
  • 打赏
  • 举报
回复
完全可以的。你是不是把PRINT打印出信息当作失败啊?
kuki84 2005-09-21
  • 打赏
  • 举报
回复
代码是否还有不完善的地方?
kuki84 2005-09-21
  • 打赏
  • 举报
回复
这个问题我现在在我机器上测试也是没问题的。

不是必发性的问题。在几十家客户的服务器上运行,极个别的偶发。
xzq111 2005-09-21
  • 打赏
  • 举报
回复
如果你的表字段很多,而且每个长度都很大,刚好超过了sql server单行允许的8060字节,将不能加了
xzq111 2005-09-21
  • 打赏
  • 举报
回复
报什么错呢?
vivianfdlpw 2005-09-21
  • 打赏
  • 举报
回复
我这里测试可以亚,没问题。你试试:

if exists (Select *
from dbo.syscolumns
Where Name='s_fzlx'
And ID=OBject_ID('dbo.gs_tbl_checkup')
)
print('警告:s_fzlx已存在于gs_tbl_checkup中,更新操作执行失败!')
else
begin
ALTER TABLE dbo.gs_tbl_checkup ADD
s_fzlx varchar(6) NULL
end
GO
churchatp1 2005-09-21
  • 打赏
  • 举报
回复
你确认一下有没有gs_tbl_checkup 这个表
churchatp1 2005-09-21
  • 打赏
  • 举报
回复
应该可以把

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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