SQL Server ->> 生成代码把表字段从NULL改为NOT NULL
一般我们用SELECT .... INTO语句生成的表字段都是允许为NULL。而如果我们需要改成NOT NULL呢
- select 'ALTER TABLE dbo.XXXXXXX ALTER COLUMN ' +
- QUOTENAME(c.name) + ' ' + t.name +
- case when t.name in ('nvarchar','nchar')
- then '('+ cast(c.max_length/2 as nvarchar) +')'
- when t.name in ('varchar','binary', 'char', 'varbinary')
- then '('+ cast(c.max_length as nvarchar) +')'
- else '' end + ' NOT NULL'
- from sys.columns c join sys.types t on c.system_type_id = t.system_type_id
- where object_id = object_id ('dbo.XXXXXXX') and t.name <> 'sysname'
- order by column_id
有时需要准备数据库设计文档,里面的物理设计这块需要填写像这样的表
Table: dbo.DimMonth |
||||
Column Name |
Data Type |
Key |
Nullable |
Comment |
Monthkey |
bigint |
PK |
No |
|
CalendarMonth |
bigint |
No |
||
CalendarMonthName |
nvarchar(30) |
No |
||
CalendarQuarter |
bigint |
No |
||
CalendarQuarterName |
nvarchar(30) |
No |
||
CalendarYear |
bigint |
No |
||
CalendarYearName |
nvarchar(30) |
No |
||
FiscalMonthName |
nvarchar(30) |
No |
||
FiscalMonthOfYear |
bigint |
No |
||
FiscalQuarter |
bigint |
No |
||
FiscalQuarterName |
nvarchar(30) |
No |
||
FiscalYear |
bigint |
No |
||
FiscalYearName |
nvarchar(30) |
No |
如果比本身已经建立好在数据库中,我们可以通过一条脚本生成
- select c.name, t.name + case when t.name in ('nvarchar','nchar')
- then '('+ cast(c.max_length/2 as nvarchar) +')'
- when t.name in ('varchar','binary', 'char', 'varbinary')
- then '('+ cast(c.max_length as nvarchar) +')'
- else '' end, case when c.is_nullable = 1 then 'Yes' ELSE 'No' end
- from sys.columns c join sys.types t on c.system_type_id = t.system_type_id
- where object_id = object_id ('dbo.XXXXXXX') and t.name <> 'sysname'
- order by column_id
SQL Server ->> 生成代码把表字段从NULL改为NOT NULL的更多相关文章
- mysql,sql server,oracle 唯一索引字段是否允许出现多个 null 值?
最近一个项目,涉及到sql server 2008,因为业务需求,希望建立一个唯一索引,但是发现在sql server中,唯一索引字段不能出现多个null值,下面是报错信息: CREATE UNIQU ...
- SQL SERVER 生成MYSQL建表脚本
/****** Object: StoredProcedure [dbo].[GET_TableScript_MYSQL] Script Date: 06/15/2012 13:05:14 ***** ...
- SQL SERVER 生成ORACLE建表脚本
/****** Object: StoredProcedure [dbo].[GET_TableScript_ORACLE] Script Date: 06/15/2012 13:07:16 **** ...
- SQL Server ->> 生成Numbers辅助表
if object_id('MyDB.dbo.Numbers') is not null drop table MyDB.dbo.Numbers go use [MyDB] go create tab ...
- 把sql server 2000的用户表的所有者改成dbo
怎么样把sql server 2000的用户表的所有者,改成dbo,而不是用户名. 推荐使用下面介绍的第二种方法,执行以下查询便可以了.sp_configure 'allow updates','1' ...
- sql server数据库备份单个表的结构和数据生成脚本
1.使用场景:sql server数据库备份单个表的结构和数据,在我们要修改正式系统的数据的一天或者多条某些数据时候,要执行update语句操作,安全稳健考虑,最好先做好所修改的表的结构和数据备份! ...
- 【SQL Server】sql server更改了数据表的字段/新增数据表的字段 无法保存
sql server更改了数据表的字段/新增数据表的字段 无法保存 解决方法:进入 工具-->选项-->Designers-->表设计器和数据库设计器-->取消勾选 即可
- sql server数据库备份单个表的结构和数据生成脚本【转】
1.使用场景:sql server数据库备份单个表的结构和数据,在我们要修改正式系统的数据的一天或者多条某些数据时候,要执行update语句操作,安全稳健考虑,最好先做好所修改的表的结构和数据备份! ...
- 清空SQL Server数据库中所有表数据的方法(转)
清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入 ...
随机推荐
- leetcode 75 Sort Colors 计数排序,三路快排
解法一:计数排序:统计0,1,2 的个数 时间复杂度:O(n) 空间复杂度:O(k) k为元素的取值范围, 此题为O(1) class Solution { public: void sortC ...
- restFull接口实现web
1. 模板引擎JSP的限制 在开始之前呢,我觉得我们有必要先去了解下 Spring Boot 2.0 官方文档中提到的如下内容: 模板引擎 除了REST Web服务之外,还可以使用Spring MVC ...
- 【Python】小括号过滤后的盲注
0x00 环境搭建 sqli-labs第八关,简单修改下源代码,加入下面一行代码 $id=preg_replace('/\(|\)/', "",$id); //过滤小括号 0x ...
- PIE SDK图层树右键菜单与命令绑定
1. 功能简介 上一节已经介绍过图层树如何和地图和制图关联,图层树右键菜单主要是基于TocControl控件进行对菜单节点进行控制,TocControl主要作用是显示当前加载的图层有哪些.采用什么 ...
- 01-oracle限定查询-20190404
关系型数据库和半结构化数据(xml文件) oracle12c:c代表云计算 PDB,CDB sql语句执行顺序: 第一步:from子句控制数据来源: 第二步:where子句使用限定符对数据行过滤: 第 ...
- MySQL 常用show 语句
1. show tables或show tables from database_name; -- 显示当前数据库中所有表的名称. 2. show databases; -- 显示mysql中所有数据 ...
- 读取日志文件,搜索关键字,打印关键字前5行。yield、deque实例
from collections import deque def search(lines, pattern, history=5): previous_lines = deque(maxlen=h ...
- Beam概念学习系列之SDKs
不多说,直接上干货! https://beam.apache.org/get-started/beam-overview/ Beam SDK 提供了一个统一的编程模型,来处理任意规模的数据集,其中包括 ...
- JS正则表达式一些基本使用、验证、匹配、正则匹配时一个变量
js验证首位必须是字母 var str = "asfg"; /^[a-zA-Z].*/.test(str);//true是,false否 匹配所有空格 var str=" ...
- poi excel 常用api
http://www.cnblogs.com/huajiezh/p/5467821.html