报错了,说:对象名dbglobal无效。
提供代码如下,执行后,发现红色部分的对象名都无效,就是说我的数据库里没这些表。
UPDATE dbglobal SET site_name = 'Ros'
-- Create the SQL needed to perform the update of stateful entities.
SELECT DISTINCT
'UPDATE ' + e.db_name + ' ' +
'SET id = ''' + db.site_name + ''' + RIGHT(id, 8) ' +
'WHERE dbid <> 0 AND ' +
'LEFT(id, ' + CAST(LEN(db.site_name) AS VARCHAR) +
') <> ''' + db.site_name + ''''
FROM
entitydef e
INNER JOIN
history h ON
h.entitydef_id = e.id
INNER JOIN
dbglobal db ON
db.site_name IS NOT NULL
WHERE
e.type = 1
-- This will return a set of lines like the ones below for each stateful record
-- you have. You can just run these statements directly.
UPDATE ancillary_change SET id = 'Ros' + RIGHT(id, 8) WHERE dbid <> 0 AND LEFT(id, 5) <> 'Ros';
UPDATE app_deployment_record SET id = 'Ros' + RIGHT(id, 8) WHERE dbid <> 0 AND LEFT(id, 5) <> 'Ros';
UPDATE application_change SET id = 'Ros' + RIGHT(id, 8) WHERE dbid <> 0 AND LEFT(id, 5) <> 'Ros';
UPDATE application_release SET id = 'Ros' + RIGHT(id, 8) WHERE dbid <> 0 AND LEFT(id, 5) <> 'Ros';
UPDATE application_test_record SET id = 'Ros' + RIGHT(id, 8) WHERE dbid <> 0 AND LEFT(id, 5) <> 'Ros';
UPDATE change_acceptance_record SET id = 'Ros' + RIGHT(id, 8) WHERE dbid <> 0 AND LEFT(id, 5) <> 'Ros';
UPDATE deployment_record_t SET id = 'Ros' + RIGHT(id, 8) WHERE dbid <> 0 AND LEFT(id, 5) <> 'Ros';
UPDATE release_schedule SET id = 'Ros' + RIGHT(id, 8) WHERE dbid <> 0 AND LEFT(id, 5) <> 'Ros';
UPDATE solution_review SET id = 'Ros' + RIGHT(id, 8) WHERE dbid <> 0 AND LEFT(id, 5) <> 'Ros';
UPDATE task SET id = 'Ros' + RIGHT(id, 8) WHERE dbid <> 0 AND LEFT(id, 5) <> 'Ros';
UPDATE test_record SET id = 'Ros' + RIGHT(id, 8) WHERE dbid <> 0 AND LEFT(id, 5) <> 'Ros';
[ 本帖最后由 ckk6566 于 2008-4-7 15:09 编辑 ]