SqlServer 通用修改字段类型(多表)

起因:因为SqlServer 数据库不支持varchar 类型写入 韩文多语言 。

解决方式:修改varchar类型为 nvarchar 类型 ,nvarchar类型是占用两个字节,

其他问题:

1.SqlServer的主键最多900字节,所以不能将主键索引扩大,需要缩短主键长度。

2.text类型修改为ntext 需要先修改为nvarchar 才能 修改为ntext类型

sql 如下:


    
DECLARE @name nvarchar(100)
DECLARE @fieldName nvarchar(100)
DECLARE @fieldType nvarchar(100)
DECLARE @leng int
DECLARE @nums int 
set @nums=0
DECLARE CURSOR1 CURSOR SCROLL for (select name from sysobjects where xtype = 'u')    ---u 表 V 视图 P 函数
        OPEN CURSOR1
                

            fetch FIRST from CURSOR1 into @name
                    WHILE (@@FETCH_STATUS=0)
                    BEGIN

        DECLARE cursor2 CURSOR SCROLL for (
                 select syscolumns.name as fieldName ,systypes.name as fieldType,syscolumns.length as leng
           from syscolumns inner join systypes on systypes.xtype=syscolumns.xtype
             where id=(select id from sysobjects where  name=@name) and syscolumns.name like '%digest%'  --and  systypes.name ='nvarchar'
                            ) ---要查询的类型
                                    
                                        OPEN CURSOR2
                                            fetch FIRST from CURSOR2 into @fieldName,@fieldType,@leng
                                                    WHILE (@@FETCH_STATUS=0)
                                                    BEGIN
                                            BEGIN try
                                                    set  @nums=@nums+1
                                                    
                                                        --    BEGIN
                                                ----    EXECUTE('alter table '+@name+' alter column '+@fieldName+' nvarchar(100)')---更改类型
                                                --    EXECUTE('alter table '+@name+' alter column '+@fieldName+' ntext')    
                                                            print    (@NAME+'   '+@fieldName+'  '+@fieldType)
                                                            EXECUTE('alter table '+@name+' alter column '+@fieldName+' nvarchar('+@leng+')')    
                                                            set  @nums=@nums+1
                                                        --    END
                                            end try
                                                    BEGIN catch
                                                    print    (@NAME+'   '+@fieldName+'  '+@fieldType)
                                                        set  @nums=@nums+1
                                            fetch next from CURSOR2 into @fieldName,@fieldType,@leng
                                                    END catch
                                                        
                                                            
                                            fetch next from CURSOR2 into @fieldName,@fieldType,@leng
        
                                            end
                                    close CURSOR2  
                                    deallocate   CURSOR2    
                            
                                    
                    
        
            fetch next from CURSOR1 into @name
                
                    end
                    
            close CURSOR1  
            deallocate   CURSOR1    
    print @nums

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java和SQL Server可以被用于开发一个图书管理系统。Java是一种通用编程语言,而SQL Server是一种关系型数据库管理系统。 开发图书管理系统的第一步是设计数据库。使用SQL Server作为数据库可以方便地存储和管理图书信息。可以创建一个包含图书名称、作者、出版日期、ISBN号码等字段的图书。此外,还可以创建一个借阅者,用于存储借阅者的信息。通过使用SQL Server的查询语言,可以轻松地实现图书的增加、删除、修改和查询功能。 Java可以用于实现系统的业务逻辑和用户界面。可以使用Java的面向对象特性,创建图书类和借阅者类,分别代图书和借阅者对象。可以为图书类和借阅者类定义方法,以实现图书管理系统的各项功能,如借阅、归还、查询等。 在Java中,可以使用JDBC(Java Database Connectivity)连接SQL Server数据库。通过JDBC,可以将Java代码与SQL Server数据库进行交互。可以通过Java的数据库访问API,执行SQL查询语句,从数据库中检索信息,以及更新、插入或删除数据。 在图书管理系统的用户界面方面,可以使用Java的图形用户界面(GUI)库,如Swing或JavaFX。可以设计一个用户友好的界面,包含图书查询、借阅、归还等功能。用户可以通过界面输入所需的信息,并通过Java代码与数据库进行交互,实现相应的操作。 综上所述,通过使用Java和SQL Server,可以开发一个功能完备的图书管理系统。使用Java作为编程语言,在设计业务逻辑和用户界面方面十分灵活,而SQL Server作为数据库管理系统,方便地存储和管理图书信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值