我没有尝试过,但是我知道SQL Server 2000是可以修改系统表的,系统表里面应该有个 syscolumns的表,里面存储着每个列的名字,具体的列名我不知道,你可以在这里把所有同名的列名修改,但我没有验证过是否可行,而且这样修改你得保证被修改的所有列名是否都是你需要的,你可能得考虑一些条件来筛选
而且这样修改以后可能不是及时生效,你也许要的重启SQL Server才能看到更新的情况
DECLARE CUR_UPCOLNAME CURSOR FOR SELECT OBJECT_NAME(SC.ID) AS TBNAME , SC.NAME AS COLNAME FROM SYSCOLUMNS SC ,SYSOBJECTS SB WHERE SC.ID=SB.ID AND SB.TYPE='U' AND SC.NAME=@NAME利用游标SP_REANME........
CREATE TABLE table1 (old_column_name INT) CREATE TABLE table2 (old_column_name INT) CREATE TABLE table3 (old_column_name INT) go DECLARE @sql VARCHAR(max) SET @sql = '' ;WITH cte_tablenames AS ( SELECT table_name = 'table1' UNION ALL SELECT 'table2' UNION ALL SELECT 'table3' ) SELECT 'EXEC sp_rename ''['+ table_name +'].old_column_name'',' + '''new_column_name'',' + '''COLUMN''' FROM cte_tablenames PRINT @sql /*-------------------------------------------------------------------- EXEC sp_rename '[table1].old_column_name','new_column_name','COLUMN' EXEC sp_rename '[table2].old_column_name','new_column_name','COLUMN' EXEC sp_rename '[table3].old_column_name','new_column_name','COLUMN'(3 row(s) affected) */
SELECT
OBJECT_NAME(SC.ID) AS TBNAME ,
SC.NAME AS COLNAME
FROM
SYSCOLUMNS SC ,SYSOBJECTS SB WHERE
SC.ID=SB.ID AND SB.TYPE='U' AND SC.NAME=@NAME利用游标SP_REANME........
CREATE TABLE table2 (old_column_name INT)
CREATE TABLE table3 (old_column_name INT)
go
DECLARE @sql VARCHAR(max)
SET @sql = ''
;WITH cte_tablenames AS
(
SELECT table_name = 'table1' UNION ALL
SELECT 'table2' UNION ALL
SELECT 'table3'
)
SELECT 'EXEC sp_rename ''['+ table_name +'].old_column_name'',' + '''new_column_name'',' + '''COLUMN''' FROM cte_tablenames
PRINT @sql
/*--------------------------------------------------------------------
EXEC sp_rename '[table1].old_column_name','new_column_name','COLUMN'
EXEC sp_rename '[table2].old_column_name','new_column_name','COLUMN'
EXEC sp_rename '[table3].old_column_name','new_column_name','COLUMN'(3 row(s) affected)
*/