SQL
KelonsByCsdn
这个作者很懒,什么都没留下…
展开
-
sqlserver中打印出指定存储过程的生成脚本
CREATE PROC [dbo].[sp_viewProcScript] @procName NVARCHAR(128)AS set nocount on set @procName=replace ( @procName , '[' , '' ) set @procName=replace ( @procName ,']' , '' ) declare @text nvarchar(4000); select row_number() over(order by b.col.原创 2021-10-17 09:44:53 · 631 阅读 · 0 评论 -
sqlserver查找用到某个字段的所有存储过程
SELECT obj.Name, sc.TEXT FROM syscomments sc INNER JOIN sysobjects obj ON sc.Id = obj.ID WHERE sc.TEXT LIKE '%' + 'DeductAmount' + '%' -- ContestCount为所要查询的字段AND TYPE = 'P'z转载 2021-06-04 08:58:49 · 381 阅读 · 0 评论 -
sqlserver将多个select的结果合并成一张表
select * from(select Name as 第一列 from dbo.Test where ID = 1) as c1,(select Name as 第二列 from dbo.Test where ID = 2) as c2,(select Name as 第三列 from dbo.Test where ID = 3) as c3原创 2021-03-03 11:09:55 · 4751 阅读 · 1 评论 -
ROW_NUMBER() OVER (PARTITION BY 列1 ORDER BY 列2)
ROW_NUMBER() OVER (PARTITION BY 列1ORDER BY 列2)根据列1分组,在分组内部根据列2排序原创 2021-02-05 14:56:31 · 214 阅读 · 0 评论 -
EF在中间过程中可能会查询并没有指定(select)的字段
猜测:当select的字段涉及表中大部分字段 + 多表通过主键join。这种情况下,EF会在中间过程中,将这几张表的所有字段一并查出来。所以,有些情况下,EF中的linq语句虽然没有select某个字段,EF内部还是会查询这个字段。这种机制也引发一种问题:如果实体中加了某个字段,但是数据库中没有这个字段,那么可能导致EF查询失败,会提示没有这个列。...原创 2020-07-22 12:07:19 · 923 阅读 · 0 评论 -
关于inner join left join联查过滤条件放在on还是where中的问题
转自https://blog.csdn.net/yunyishang123/article/details/80631622转载 2020-07-14 10:40:36 · 591 阅读 · 0 评论 -
sqlserver配置数据库邮件报错: 由于邮件服务器故障,无法将邮件发送给收件人
必须开启邮箱的IMAP/SMTP服务,QQ邮箱要求必须使用独立密码原创 2020-03-18 11:05:48 · 5625 阅读 · 0 评论 -
sqlserver中将sql查询结果转换成Json(互转)
将表中的数据转换成JsonSELECT TOp 1 * FROM table FOR JSON AUTO , INCLUDE_NULL_VALUES,WITHOUT_ARRAY_WRAPPER 将指定的数值拼成Jsonselect 'hahah' as "A", 'hdhdhdh' as "B" FOR JSON PATH , INCLUDE_NULL_VALUES,WITHO...转载 2019-12-12 17:56:37 · 7838 阅读 · 2 评论 -
SqlServer中默认值与默认值约束的区别
默认值约束是在一个表内针对某一个字段定义的,仅对该字段有效。默认值是一种数据库对象,在数据库中定义一次后,可以被多次应用于表中的一列或多列,还可用于用户自定义的数据类型...转载 2019-11-22 09:12:30 · 2575 阅读 · 0 评论 -
sqlserver分页查询的例子
DECLARE @pageSize INTDECLARE @pageIndex INTSET @pageSize = 100000SET @pageIndex = 13 SELECT * FROM( SELECT ROW_NUMBER() OVER (ORDER BY OperateTime ASC) AS 'RowNumber', * FROM [d...原创 2019-11-19 09:47:32 · 153 阅读 · 0 评论 -
ORM
https://www.cnblogs.com/RobotH/archive/2007/08/22/865942.htmlhttps://www.cnblogs.com/yaopengfei/p/9196962.htmlhttps://www.cnblogs.com/loverwangshan/p/9915745.htmlhttps://www.cnblogs.com/wyy1234/...转载 2019-11-07 09:10:43 · 109 阅读 · 0 评论 -
两张表联合查询为何没有用上索引?
我有两张表,一张叫teacherInfo,一张叫departmenInfo两张表有一个相同的字段,叫depnum,两张表都以这个字段建立了索引,可是我执行以下语句时,departmenInfo要进行全表扫描。SELECT TA.* FROM teacherInfo TA,departmenInfo TB WHERE TA.depnum=TB.depnum1如果把两个表的位置改改如下,又变成...转载 2019-11-04 16:40:40 · 1397 阅读 · 0 评论 -
sqlserver中查看和杀死锁和进程
转自:https://www.cnblogs.com/knowledgesea/p/3714417.html?tdsourcetag=s_pctim_aiomsghttps://www.cnblogs.com/jackson0714/p/TSQLFundamentals_08.html?tdsourcetag=s_pctim_aiomsg--检测死锁--如果发生死锁了,我们怎么去检...转载 2019-11-01 16:22:24 · 1013 阅读 · 0 评论 -
SQLSERVER中 获取存储过程里 SELECT出来的结果
创建一个存储过程如下,存储过程中select出集合CREATE PROCEDURE dbo.HaveSelectDataProcedure@ParamID intASBEGIN DECLARE @TempTable Table ( ID int, SomeValue NVARCHAR(50) ) INSERT INTO @TempTable VALUES(@Param...原创 2019-10-20 15:27:06 · 5227 阅读 · 0 评论 -
C#执行存储过程的方法
这篇文章主要介绍了C#获取存储过程返回值和输出参数值的方法,有需要的朋友可以参考一下1.获取Return返回值复制代码代码如下://存储过程//Create PROCEDURE MYSQL// @a int,// @b int//AS// return @a + @b//GOSqlConnection conn = new SqlConnection(Configurati...转载 2018-05-17 09:54:21 · 12782 阅读 · 0 评论 -
游标的使用示例
DECLARE @OrderNO NVARCHAR(50);DECLARE @OrderName NVARCHAR(50);DECLARE @RMDSC NVARCHAR(500);DECLARE cursorTest CURSOR LocalFOR SELECT OrderNO , OrderName , RMDSC FR...原创 2018-05-17 14:50:50 · 201 阅读 · 0 评论 -
将截断字符串或二进制数据
转自:https://blog.csdn.net/beimuaihui/article/details/1654512原因: 表设置的列长度小于要插入的数据的长度解决:1.表设置的列名长度太短2.插入数据太长,错误3.有默认值4.有触发器5 从char数据类型到datetime数据类型的转换导致datetime值越界6.程序中设置的数据类型选不正确...转载 2018-05-17 19:10:55 · 14721 阅读 · 2 评论 -
触发器的创建
1.基于数据库的触发器(针对于各个数据库都会触发)SQL语句:CREATE TRIGGER databaseLog ON DATABASE FOR CREATE_TABLE, CREATE_PROCEDURE, CREATE_TRIGGER, ALTER_TABLE, ALTER_PROCEDURE, ALTER_TRIGGER, DROP_TABLE, DROP_PROCED...原创 2018-05-17 19:50:45 · 468 阅读 · 0 评论 -
通过设置隔离级别-READ UNCOMMITTED读取加了排它锁的数据
--第一步BEGIN TRAN; UPDATE dbo.Material_SO_PipeOrderSET OrderNO = '修改后';--第三步COMMIT TRAN;--第二步SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;SELECT *FROM dbo.Material_SO_PipeOrder;执行步骤...原创 2018-05-19 17:58:35 · 1169 阅读 · 0 评论 -
事务的隔离级别
转自:http://ydjgsy39314.blog.163.com/blog/static/24869212011091582911/事务是作为工作单元而执行的一些列操作,如查询和数据修改,甚至可以是修改数据定义。定义事务边界的方式有显示和隐式两种。显示事务的定义需要使用BEGIN TRAN开始,如果要提交事务,则以COMMIT TRAN语句显示结束事务;如果不想提交事务(撤销事务中对数据的操作...转载 2018-05-20 13:39:54 · 261 阅读 · 0 评论 -
SQLServer中GO的注意点
转自:https://www.2cto.com/database/201510/446088.html如果只是执行一条语句,有没有GO都一样 如果多条语句之间用GO分隔开就不一样了每个被GO分隔的语句都是一个单独的事务,一个语句执行失败不会影响其它语句执行。例如:首先同时执行下边的语句select * from sysobjects where id=aselect getdate() 你会发现会...转载 2018-05-22 15:24:30 · 4331 阅读 · 0 评论 -
索引扫描与聚集索引扫描比较
如图索引扫描(30%)比聚集索引扫描(70%)快,因为查询1只需要查找非聚集索引页就可以获得结果,而查询2不但要查找聚集索引页,还要查找数据页;注意:如下图,若只查找主键,则采用非聚集索引扫描参考博文:http://www.cnblogs.com/panchunting/p/SQLServer_IndexStructure.html...原创 2018-05-26 19:24:50 · 2044 阅读 · 0 评论 -
SQLServer中各种存储过程创建及执行方式
1.没有返回值:CREATE PROCEDURE dbo.ProTestAS DECLARE @test int SET @test = 1Go执行SQL语句:EXEC dbo.ProTest 消息:命令已成功完成。结果:无2.有返回值(使用select):CREATE PROCEDURE dbo.ProTestAS DECLARE @test INT; SET @tes...原创 2018-05-16 19:54:49 · 82774 阅读 · 1 评论 -
事务在执行过程中报错的处理方式
1.系统默认,在事务执行过程中遇到报错(编译或运行错误)不会回滚整个事务,会继续执行报错后面的语句;举例如下:BEGIN TRAN;INSERT INTO dbo.Material_PO_PipeMaterialOrder ( ID , OrderNO , OrderName , Status , ...原创 2018-05-23 16:10:21 · 2856 阅读 · 2 评论 -
使用DataAdapter.Update的简单方法
转自:https://blog.csdn.net/Depraved_Survival/article/details/1464619在使用DataAdapter和DataSet更新数据库的时候,通常需要自己设置InsertCommand、UpdateCommand以及DeleteCommand等属性,比较繁琐,如果不写或者写错内容,那么DataAdapter.Update方法将会出错。我是一个懒人...转载 2018-06-06 14:55:22 · 7145 阅读 · 0 评论 -
SQL中小数向下取整和向上取整
select ceiling(2.2222* 100)/100 --保留两位小数,小数位向上取整,输出:2.2300select floor(2.2222* 100)/100 --保留两位小数,小数位向下取整, 输出:2.2200原创 2018-09-19 19:00:34 · 6416 阅读 · 0 评论 -
关于sql连接语句中的Integrated Security=SSPI
关于sql连接语句中的Integrated Security=SSPI 解决方法: 即:Security Support Provider Interface 设置Integrated Security为 True 的时候,连接语句前面的 UserID, PW 是不起作用的,即采用windows身份验证模式。只有设置为 False 或省略该项的时候,才按照 UserID, PW 来连接。 Inte...转载 2018-05-17 09:30:40 · 4896 阅读 · 0 评论