首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

再问一个有关问题

2012-03-24 
再问一个问题 usemasterdeclare@databasesysnamedeclarecursor_namecursorfast_forwardread_onlyforselect

再问一个问题

use   master

declare   @database   sysname
declare   cursor_name   cursor   fast_forward   read_only   for  
select   [name]   from   sysdatabases   where   dbid> 6

open   cursor_name

FETCH   NEXT   FROM   cursor_name
INTO   @database

WHILE   @@FETCH_STATUS   =   0
BEGIN
execute( 'if   exists(select   *   from   '+@database+ '..syscolumns   where   name= ' 'logtext ' '   and   id=object_id( ' ' '+@database+ '..logregister ' '))
begin
if   not   exists(select   *   from   '+@database+ '..syscolumns   where   name= ' 'logtext_new ' '   and   id=object_id( ' ' '+@database+ '..logregister ' '))
begin
alter   table   '+@database+ '..logregister   add   logtext_new   ntext
end
update   '+@database+ '..logregister   set   logtext_new=logtext
alter   table   '+@database+ '..logregister   drop   column   logtext
alter   table   '+@database+ '..logregister   add   logtext   ntext
update   '+@database+ '..logregister   set   logtext=logtext_new
alter   table   '+@database+ '..logregister   drop   column   logtext_new
end '
)

FETCH   NEXT   FROM   cursor_name  
INTO   @database
END

CLOSE   cursor_name
DEALLOCATE   cursor_name

这段代码执行不成功,会报找不到logtext_new找不到的错误,不知道怎么改

[解决办法]
print 出来执行一个库看看

热点排行