批量将一个库里的所有表里的char改成nchar类型
来源:百度文库 编辑:神马文学网 时间:2024/04/28 17:58:28
[日期:2005-07-08]来源:CSDN 作者:[字体:大中小]
/*--将所有的表中,数值类型由char,varchar改为nchar,nvarchar 的存储过程--*/
/*--调用示例:
exec p_set
--*/
if exists (select * from dbo.sysobjects where id = object_id(N‘[dbo].[p_set]‘) and OBJECTPROPERTY(id, N‘IsProcedure‘) = 1)
drop procedure [dbo].[p_set]
GO
create procedure p_set
as
declare tb cursor for
SELECT sql=‘alter table [‘+d.name
+‘] alter column [‘+a.name+‘] n‘
+b.name+‘(‘+cast(a.length*2 as varchar)+‘)‘
FROM syscolumns a
left join systypes b on a.xtype=b.xusertype
inner join sysobjects d on a.id=d.id and d.xtype=‘U‘ and d.name<>‘dtproperties‘
where
b.name in(‘char‘,‘varchar‘)
and
not exists(SELECT 1 FROM sysobjects where xtype=‘PK‘ and name in (
SELECT name FROM sysindexes WHERE indid in(
SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid
))) --主键不能修改
order by d.name,a.name
declare @sql varchar(1000)
open tb
fetch next from tb into @sql
while @@fetch_status = 0
begin
exec(@sql)
fetch next from tb into @sql
end
close tb
deallocate tb
go
/*--将所有的表中,数值类型由char,varchar改为nchar,nvarchar 的存储过程--*/
/*--调用示例:
exec p_set
--*/
if exists (select * from dbo.sysobjects where id = object_id(N‘[dbo].[p_set]‘) and OBJECTPROPERTY(id, N‘IsProcedure‘) = 1)
drop procedure [dbo].[p_set]
GO
create procedure p_set
as
declare tb cursor for
SELECT sql=‘alter table [‘+d.name
+‘] alter column [‘+a.name+‘] n‘
+b.name+‘(‘+cast(a.length*2 as varchar)+‘)‘
FROM syscolumns a
left join systypes b on a.xtype=b.xusertype
inner join sysobjects d on a.id=d.id and d.xtype=‘U‘ and d.name<>‘dtproperties‘
where
b.name in(‘char‘,‘varchar‘)
and
not exists(SELECT 1 FROM sysobjects where xtype=‘PK‘ and name in (
SELECT name FROM sysindexes WHERE indid in(
SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid
))) --主键不能修改
order by d.name,a.name
declare @sql varchar(1000)
open tb
fetch next from tb into @sql
while @@fetch_status = 0
begin
exec(@sql)
fetch next from tb into @sql
end
close tb
deallocate tb
go
批量将一个库里的所有表里的char改成nchar类型
批量将一个库里的所有表里的char改成nchar类型
将long类型的值存入char类型数组里面
如何将STL中的string转化为char或char* 类型的? VC/MFC / 非技术类
VC中BSTR、Char和CString类型的转换
VC中BSTR、Char和CString类型的转换
将数据库表里的数据直接转为XML文件
中产阶级的表里
校内里的十大傻逼类型
关于const char*, char const* and char *const 等的区别_闲赋南山
加倍的所有类型(张德生) - Qzone日志
注册表里的安全设置
vc8中,怎样将cedit空间中输入的字符串转化成char*
成语改成的广告语
走势结构的两重表里关系91
上海合乐货架拥有上海货架的所有类型
幽默:成语改成的广告语
应付公司里各种类型人的绝招-
大学里十二种常见的校花类型 [图片]
Varchar与char的区别[『AcNow论坛』]
CSDN技术中心 CString,string,char*的综合比较(一)
Oracle中char到Date和Number的转换
VC++中的char,wchar_t,TCHAR - joe的日志 - 网易博客
批量将身份证号码的中间四位变成XXXX的三个方法