将两个表的列调整为一致
来源:互联网 发布:java适配器模式 编辑:程序博客网 时间:2024/05/24 02:00
USE tempdbGOIF OBJECT_ID('a') IS NOT NULL DROP TABLE aIF OBJECT_ID('b') IS NOT NULL DROP TABLE bCREATE TABLE a(id INT,[name] NVARCHAR(MAX))CREATE TABLE b(id INT,[name] NVARCHAR(MAX),age INT,n NVARCHAR(50) NOT NULL)--将 a 的表结构与 b 的结构调整成一致DECLARE @sql NVARCHAR(MAX)SELECT @sql =(SELECT 'ALTER TABLE a ADD '+c.name+' '+p.name+CASE WHEN p.name IN ('varchar','char') THEN '('+CAST(c.max_length AS VARCHAR(20))+')' WHEN p.name IN ('nvarchar','nchar') THEN '('+CAST(c.max_length/2 AS VARCHAR(20))+')' ELSE '' END+CASE WHEN c.is_nullable=1 THEN ' NULL' ELSE ' NOT NULL' END+'; 'FROM sys.[columns] AS c INNER JOIN sys.types AS p ON c.[object_id]=OBJECT_ID('b') AND c.user_type_id=p.user_type_idAND c.name NOT IN (SELECT c.name FROM sys.[columns] AS c WHERE c.[object_id]=OBJECT_ID('a'))FOR XML PATH(''))/*PRINT @sqlALTER TABLE a ADD age int NULL; ALTER TABLE a ADD n nvarchar(50) NOT NULL; */EXEC (@sql)--看表结构可知 a,b 两表的结构已完全一致
阅读全文
0 0
- 将两个表的列调整为一致
- 如何使两个表格的列宽一致?
- [转]Ubuntu下两个小细节的调整,如何将vim光标设置为竖线
- 两个表,一个表中的两列关联另一个表的id,如何将这个表中的两列显示为另一个表id对应的内容
- 两个MSFlexGrid的函数 点击表头排序函数以及依据内容自动调整列宽为最合适的宽度
- oracle将表的列名显示为一行
- 将两个矩阵相乘,A为x行y列的矩阵,B为y行z列的矩阵,A*B
- 将image view调整与实际图片一致
- 比对两个表的账单是否一致
- 将列的Name换为Comment
- 将两个顺序表的合并为顺序表
- error:在使用大于号之前忘记将大于号两边的类型转化为一致
- 比较两个表的列
- 判断两个apk的签名一致
- 判断两个apk的签名一致
- 将两个同为升序的有序链表,请将其合成为一个也是升序的链表。
- 将一个表中的某列的值全部更新为与另一表中某一列的值相等
- 在Microsoft SQL Server 2008中,将一张表的某列的值转换为列名称
- fastdfs-client-java maven
- 使用反射出现java.lang.reflect.InvocationTargetException
- [解决]java.io.IOException: Cannot obtain block length for LocatedBlock
- xssh连接Linux总结
- JAVA中字符串格式化
- 将两个表的列调整为一致
- mysql中内连接中的顺序问题折射出内连接的内在运行机制
- 欢迎使用CSDN-markdown编辑器
- Android数据存储之SharedPreferences
- JAVA_获取正常上班工作日-除去节假日_双休日_加上加班
- 在桌面Linux环境下开发图形界面程序的方案对比
- java异常处理
- mt2503[SMS] 手机无法发出短信
- elasticsearch常用操作URL与java实例代码