-
sql语句返回主键SCOPE_IDENTITY()
在sql语句后使用SCOPE_IDENTITY()当然您也可以使用SELECT@@IDENTITY但是使用SELECT@@IDENTITY是去全局最新.有可能取得值不正确.示例:复制代码代码如下:insertintodbo.SNS_BlogData(userName)values('jiangyun');SELECTSCOPE_IDENTITY()获取SQL-SERVER数据库insertinto操作的主键返回值,SCOPE_IDENTITY插入一条记录后想要立刻获取其数据表中的主键返回值。这个主键是自动生成的,其实实现的方式有很多,比如再进行一次查询,获取出来...
数据库操作教程 2022-09-23 20:27:52 -
asp.net使用SqlBulkCopy极速插入数据到SQLServer
按这个来算,我们那个发水票的时间就会由10分钟-->20秒,这可太神奇了。于是乎,下demo,测试,改成自己一般使用的方法测试,NND,还真可以说是极速...
数据库操作教程 2022-09-23 20:24:20 -
SQLServer数据库的数据汇总完全解析(WITHROLLUP)
现有表A,内容如下:编码仓库数量01A601B702A802B9现在想按编码查询出这种格式:01A601B7汇总小计:1302A802B9汇总小计:17问:该如何实现?乍一看,好像很容易,用groupby好像能实现?但仔细研究下去,你又会觉得groupby也是无能为力,总欠缺点什么,无从下手。那么,到底该如何做呢?别急,SQLServer早就帮我们做好了,下面,跟我来...
数据库操作教程 2022-09-23 20:22:56 -
SQLServer中汇总功能的使用GROUPING,ROLLUP和CUBE
第一次看到这样的SQL语句,看不懂,其中用到了下面的不常用的聚集函数:GROUPING用于汇总数据用的运算符:ROLLUPSELECT CASE GROUPING(o.customerid) WHEN 0 THEN o.customerid ELSE '(Total)' END AS AllCustomersSummary, CASE GROUPING(od.orderid) WHEN 0 THEN od.orderid ELSE -1 END AS IndividualCustomerSummary, SUM(od.quantity*od.unitprice) AS price FROM Orders o, [Order Details] od WHERE&...
数据库操作教程 2022-09-23 20:21:35 -
sqlupdate触发器可获得被update的行的信息
复制代码代码如下:createtriggerTgNameontbforupdateasifupdate(recommend)beginupdatetbsetcommenddate=(getdate())fromtbinnerjoininsertedontb.vlistid=Inserted.vlistidendrecommend表示被更新的字段.关键在于Inserted表触发器语句中使用了两种特殊的表:deleted表和inserted表。Deleted表用于存储DELETE和UPDATE语句所影响的行的复本...
数据库操作教程 2022-09-23 20:15:15 -
SQLCONVERT转化函数使用方法小结
格式:CONVERT(data_type,expression[,style])说明:此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到.例子:SELECTCONVERT(varchar(30),getdate(),101)now结果为:now---------------------------------------|09/15/2001Style数字在转换时间时的含义如下:复制代码代码如下:Style(2位表示年份)|Style(4位表示年份)|输入输出格式0|100|monddyyyyhh:miAM(或PM)1|101美国|mm/dd/yy2|102ANSI|yy-mm-dd3|103英法|dd/mm/yy4|104德国|dd.mm.yy5|105意大利|dd-mm-yy6|106|ddmonyy7|107|mondd,yy8|108|hh:mm:ss9|109|monddyyyyhh:mi:ss:mmmmAM(或PM)10|110美国|mm-dd-yy11|111日本|...
数据库操作教程 2022-09-23 20:14:57 -
SQLServer更改DB的Collation
执行以下SQL,即OK咯叻!!SQL:alterdatabase数据库名称SQL_Latin1_General_CP1_CI_AS...
数据库操作教程 2022-09-23 20:13:42 -
SQL Server中的约束(constraints)详解
目录一、约束的分类二、约束命名三、主键约束1、在创建表的时候创建主键约束。2、在已存在的表上创建主键约束3、复合主键的创建四、外键约束4.1、创建表的时候创建外键4.2、在已存在的表中添加一个外键4.3、级联动作五、唯一约束主键和唯一约束的区别:六、CHECK约束七、DEFAULT约束7.1在创建表时定义DEFAULT约束:7.2在已存在的表上添加DEFAULT约束:八、禁用约束8.1、在创建约束时,忽略检查之前的不满足数据8.2、临时禁用已存在的约束九、规则和默认值(已淘汰)9.1、规则9.2、默认值9.3确定哪个表和数据类型使用给定的规则或默认值十、系统视图一、约束的分类在SQLServer中,有3种不同类型的约束...
数据库操作教程 2022-09-23 18:22:44 -
SQL Server格式转换函数Cast、Convert介绍
CAST、CONVERT都可以执行数据类型转换。在大部分情况下,两者执行同样的功能,不同的是CONVERT还提供一些特别的日期格式转换,而CAST没有这个功能...
数据库操作教程 2022-09-23 18:22:33 -
sql中的where、groupby和having用法解析
废话不多说了,直接给大家贴代码了,具体代码如下所示:--sql中的where、groupby和having用法解析--如果要用到groupby一般用到的就是“每这个字”例如说明现在有一个这样的表:每个部门有多少人就要用到分组的技术selectDepartmentIDas'部门名称',COUNT(*)as'个数'fromBasicDepartmentgroupbyDepartmentID--这个就是使用了groupby+字段进行了分组,其中我们就可以理解为我们按照了部门的名称ID--DepartmentID将数据集进行了分组;然后再进行各个组的统计数据分别有多少;--如果不用count(*)而用类似下面的语法selectDepartmentID,DepartmentNamefromBasicDepartmentgroupbyDepartmentID--将会出现错误--选择列表中的列'BasicDepartment.DepartmentName'无效,因为该列没有包含在聚合函数或GROUPBY子句中。这就是我们需要注意的一点,如果在返回集字段中,这些字段要么就要包含在GroupBy语句的后...
数据库操作教程 2022-09-23 18:21:59 -
SQL解决未能删除约束问题drop constraint
问题如图:想要删除产品表的主键约束,但是报错创建的产品表:CREATETABLEPROVIDERS(PROVIDERIDINTNOTNULL,PROVIDERNAMENVARCHAR(50)NOTNULLPRIMARYKEY,#设置的主键PROVIDERCOMNAMENVARCHAR(20),PROVIDERCOMTITLENVARCHAR(10),PROVIDERADDNVARCHAR(50),PROVIDERACITYNVARCHAR(20),PROVIDERREGIONNVARCHAR(20),PROVIDERZIPNVARCHAR(10),PROVIDERCOUNTRYNVARCHAR(10),PROVIDERTELNVARCHAR(20),PROVIDERFAXNVARCHAR(20),PROVIDERWEBNVARCHAR(50)--CONSTRAINTPK_PROVNAMEPRIMARYKEY(PROVIDENAME))原因在于主键的名称写错了(主键后面有自带的随机数)--查看真正的主键名称EXECSP_HELPPROVIDERS那么为什么它的后面会有随机数呢...
数据库操作教程 2022-09-23 18:20:46 -
SQLServerParameterSniffing及其改进方法
SQLServer在处理存储过程的时候,为了节省编译时间,是一次编译,多次重用。当第一次运行时代入值产生的执行计划,不适用后续代入的参数时,就产生了parametersniffing问题...
数据库操作教程 2022-09-23 18:20:15