sql server 我常用的语句
1. computed column
- alter table tableName add columnName as (cast(aColumn as float) / bColumn * 100) persisted;
2. unique nullable
- create unique nonclustered index[UniqueName] on [tableName]([columnNameA] asc) where ([columnNameA] is not null);
3. foreign key cascade delete
- alter table [tableNameA] drop constraint [FKName];
- alter table [tableNameA] with check add constraint [FKName] foreign key(foreignColumnName) references [tableNameB]([Id]) on delete cascade -- or on delete set null;
4. reset auto increment
- dbcc checkident ('tableName') --check current
- dbcc checkident ('tableName', reseed, 0); --reset to 0 , next is 1
5. create index
- create nonclustered index [indexName] on [tableName]([columnName] asc);
6. select Ids to string list
- declare @string nvarchar(MAX);
- select @string = coalesce(@string + ', ', '') + cast(Id as nvarchar(5))
- from Products;
- select @string;
6.01. delay
- declare @delayLength char(8) = '00:00:10';
- waitfor delay @DelayLength
7. 大杂烩
- use [simple];
- drop proc dbo.performance_tuning_createRandomData;
- -- create procedure
- go
- create proc dbo.performance_tuning_createRandomData
- (
- @name nvarchar(100),
- @email nvarchar(100),
- @outValue nvarchar(100) output
- )
- as
- begin
- set nocount on;
- set @outValue = N'output ok';
- declare @value nvarchar(max) = N'dada';
- set @value = N'super';
- --print @value;
- insert into dbo.test (name,email) values (@name,@email);
- end
- go
- go
- declare @outValue nvarchar(100);
- EXEC dbo.performance_tuning_createRandomData N'mk100', N'hengkeat87@gmail.com', @outValue output;
- print @outvalue;
- go
- -- create function
- drop function dbo.performance_tuning_randomString;
- go
- create function dbo.performance_tuning_randomString
- (
- @name nvarchar(100)
- )
- returns nvarchar(50)
- as
- begin
- return 'value';
- end
- go
- select dbo.performance_tuning_randomString('dada');
- -- declare and set value
- go
- declare @value nvarchar(max) = N'dada';
- set @value = N'super';
- -- select @value = count(*) from @table;
- print @value;
- go
- -- if else, begin end 不一定需要
- go
- declare @value2 nvarchar(30) = 'keatkeat2';
- if(@value2 = 'keatkeat')
- begin
- print 'yes';
- end
- else
- begin
- print 'no';
- end
- go
- -- for loop
- go
- declare @i int = 0;
- while(@i < 10)
- begin
- print @i;
- set @i = @i + 1;
- end
- go
- -- random str + number and random number
- go
- SELECT CONVERT(INT, 5 * RAND())
- SELECT SUBSTRING(CONVERT(varchar(255), NEWID()), 0, 9)
- select NEWID();
- go
- -- create temp table and loop it
- go
- declare @temp table (name nvarchar(max), [index] int identity(1,1));
- insert into @temp (name) values ('keatkeat'), ('xinyao');
- declare @i int = 0;
- declare @length int;
- select @length = count(*) from @temp;
- while(@i < @length)
- begin
- declare @value nvarchar(max)
- select @value = name from @temp order by [index] offset @i rows fetch next 1 rows only;
- print @value;
- set @i = @i + 1;
- end
- go
- -- copy table to other table (cross database)
- -- copy table to temp table
- go
- insert into test (email,[name]) select email,[name] from performance_tuning.dbo.Products where Id = 1;
- select Id,[name] into #temp from test order by Id;
- declare @i int = 0;
- declare @length int;
- select @length = count(*) from #temp;
- print @length;
- while(@i < @length)
- begin
- declare @value nvarchar(max)
- select @value = [name] from #temp order by Id offset @i rows fetch next 1 rows only;
- print @value;
- set @i = @i + 1;
- end
- drop table #temp;
- go
- -- random enum
- go
- declare @values table([value] nvarchar(25));
- insert into @values values ('John'),('Sarah'),('George');
- select top 1 * from @values order by newid(); --or rand()
- go
杂会 2
- --dynamic sql
- declare @table nvarchar(max) = 'table';
- declare @value nvarchar(max) = 'value';
- --input
- declare @count int;
- --output
- declare @sql nvarchar(max) = N'select @count = count(*) from ' + @table + ' where column = @value';
- exec sp_executesql
- @sql,
- N'@count INT OUT, @value nvarchar(max)',
- @value = @value,
- @count = @count output;
- print @count;
- -- create temp table to store data
- go
- create table #tempTable
- (
- Id int
- );
- declare @sql nvarchar(max) = N'insert into #tempTable (Id) select Id from Questions';
- EXEC(@sql);
- select *
- from #tempTable;
- drop table #tempTable;
- go
dynamic table name
- declare @count int;
- declare @sql nvarchar(max) = N'select @count = count(*) from ' + @name;
- exec sp_executesql @sql, N'@count int out', @count out
- print @count;
sql server 我常用的语句的更多相关文章
- MS SQL SERVER 2000 常用 Tran-SQL 语句
一.创建数据库:create database mydb-创建数据库mydbon primary-在primary文件组中( name = mydb_data1,filename = 'd:\sql ...
- SQL Server中常用的SQL语句(转):
SQL Server中常用的SQL语句 转自:http://www.cnblogs.com/rainman/archive/2013/05/04/3060428.html 1.概述 名词 笛卡尔积.主 ...
- 处理SQL Server 异常常用步骤
处理SQL Server 异常常用步骤 SQL Server常见的问题主要是SQL问题造成,常见的主要是CPU过高和阻塞. 一.CPU过高的问题 1.查询系统动态视图查询执行时间长的sql语句 WIT ...
- PowerDesigner反向数据库时遇到[Microsoft][ODBC SQL Server Driver][SQL Server]无法预定义语句。SQLSTATE = 37错误解决方法
逆向工程中,有时会出现如下错误 ... [Microsoft][ODBC SQL Server Driver][SQL Server]无法预定义语句 SQLSTATE = 37000 解决方案: 1. ...
- SQL Server Profiler监控执行语句
SQL Server Profiler监控执行语句,这个功能主要用在实时的监控对数据库执行了什么操作,从而及时有效的跟踪系统的运行. 常规配置选项,名称.模板.保存到文件(可以复用). 事件选择,可以 ...
- SQL Server FOR XML PATH 语句的应用---列转行
经常在论坛看到高手使用了 for xml path,由于是搜索一下,记录了详细的使用方法.在SQL Server中利用 FOR XML PATH 语句能够把查询的数据生成XML数据,下面是它的一些应用 ...
- SQL Server中的流控制语句
begin···end 该语句定义sql代码块,通常在if和while语句中使用 declare @num int ; ; begin ; print 'hello word' end if···el ...
- 【SQL Server DBA】维护语句:删除并创建外键约束、获取建表语句
原文:[SQL Server DBA]维护语句:删除并创建外键约束.获取建表语句 1.删除外键约束,建立外键约束 先建立3个表: /* drop table tb drop table tb_b dr ...
- SQL Server中常用的SQL语句
1.概述 名词 笛卡尔积.主键.外键 数据完整性 实体完整性:主属性不能为空值,例如选课表中学号和课程号不能为空 参照完整性:表中的外键取值为空或参照表中的主键 用户定义完整性:取值范围或非空限制,例 ...
随机推荐
- Hibernate properties文件
###################### ### Query Language ### ###################### ## define query language consta ...
- 选择排序法、冒泡排序法、插入排序法、系统提供的底层sort方法排序之毫秒级比较
我的代码: package PlaneGame;/** * 选择排序法.冒泡排序法.插入排序法.系统提供的底层sort方法排序之毫秒级比较 * @author Administrator */impo ...
- thinkphp5 tp5 与 nginx 搭配在根目录和子目录中如何设置伪静态
配置文件参考一下: location /public/ { if (!-e $request_filename){ rewrite ^/public/(.*)$ /public/index.php?s ...
- Thinkphp5 分页带参数
原文链接:http://www.zhaisui.com/article/51.html
- Codeforces Round #439 (Div. 2) Problem A (Codeforces 869A) - 暴力
Rock... Paper! After Karen have found the deterministic winning (losing?) strategy for rock-paper-sc ...
- fastjson常用方法
fastjson是一款alibaba公司开发的json工具包.json经常被使用在数据传输方面,因此特意对它的一些常用方法做备注,欢迎看客在评论区补充或指出问题. 首先定义一个实体类,用于我们进行对象 ...
- HTML DOM open() 方法
HTML DOM Window 对象 定义和用法 open() 方法用于打开一个新的浏览器窗口或查找一个已命名的窗口. 语法 window.open(URL,name,features,replace ...
- linux内核中的vgaarb是什么?
答: vga仲裁器(vga arbiter),是内核中的一个模块
- nowcoder 合并回文子串
链接:https://www.nowcoder.com/acm/contest/6/C来源:牛客网题目输入两个字符串A和B,合并成一个串C,属于A和B的字符在C中顺序保持不变.如"abc&q ...
- (转载)WinformGDI+入门级实例——扫雷游戏(附源码)
本文将作为一个入门级的.结合源码的文章,旨在为刚刚接触GDI+编程或对相关知识感兴趣的读者做一个入门讲解.游戏尚且未完善,但基本功能都有,完整源码在文章结尾的附件中. 整体思路: 扫雷的游戏界面让我从 ...