DML_Data Modification_UPDATE
DML_Data Modification_UPDATE
写不进去,不能专注了......
/* */
----------------------------------------------------------------------------------------------------------------------
SELECT *
FROM Northwind.dbo.Orders SELECT *
FROM Northwind.dbo.[Order Details]
----------------------------------------------------------------------------------------------------------------------
--先复制:Northwind.[Order Details], Orders,2个表(表结构+数据)到testdb库下
--测试数据已经准备好
if OBJECT_ID('dbo.[Order Details]','U') IS NOT NULL DROP TABLE dbo.[Order Details]; --最讨厌这种表名中间还有个空格,还要用方括号括起来
if OBJECT_ID('dbo.Orders','U') IS NOT NULL DROP TABLE dbo.Orders; SELECT * INTO testdb.dbo.[Order Details] FROM Northwind.dbo.[Order Details]
SELECT * INTO testdb.dbo.Orders FROM Northwind.dbo.Orders ALTER TABLE dbo.Orders ADD
CONSTRAINT PK_Orders PRIMARY KEY(OrderID) ALTER TABLE dbo.[Order Details] ADD
CONSTRAINT PK_OrderDetails PRIMARY KEY(OrderID,ProductID),
CONSTRAINT PK_OrderDetails_Orders FOREIGN KEY(OrderID)
REFERENCES dbo.Orders(OrderID)
-------------------------------------------------------------------------------
--UPDATE --更改前查询一下
SELECT *
FROM testdb.dbo.[Order Details]
WHERE ProductID = '' --基础普通的更新
UPDATE dbo.[Order Details]
SET Discount = Discount + 0.05
WHERE ProductID = '' SELECT *
FROM testdb.dbo.[Order Details]
WHERE ProductID = '' AND OrderID = '' --更改前Discount = 0.15
---------------------------------
--使用复合赋值运算符
UPDATE dbo.[Order Details]
SET Discount += 0.05
WHERE ProductID = ''
---------------------------------
--“同时操作”,就是同一时刻更新,不看还好,一看还模糊了(本来就是如此么),又不是i++,i--
SELECT *
FROM testdb.dbo.[Order Details] UPDATE dbo.[Order Details]
SET Quantity = Quantity -10,Discount = Quantity-0.01 SELECT *
FROM testdb.dbo.[Order Details] ----------------------------------------------------------
select * from T1
SELECT * INTO T3 FROM T1 WHERE 1=1
select * from T3 ALTER TABLE T3 ADD --drop table T3 --这样新增加列后的字段值全为 Null,增加 WITH VALUES值就带进去了
col1 smallint default 0 WITH VALUES,
col2 smallint default 0 WITH VALUES,
col3 tinyint default 0 WITH VALUES
--col4 single default 0,
--col5 double default 0
select * from T3 UPDATE dbo.T3 --更新数据也有提示,但值还是为 Null ???
SET col1 = col1+10, col2 = col1+10, col3=col1+10 select * from T3
----------------------------------------------------------
--基于联接的UPDATE
SELECT *
FROM [Order Details] SELECT *
FROM Orders UPDATE OD
SET discount = discount + 0.03
FROM dbo.[Order Details] AS OD
JOIN dbo.Orders AS O
ON OD.OrderID = O.OrderID
WHERE CustomerID = 'TOMSP'; --查询基于联接后的更改结果
SELECT *
FROM dbo.[Order Details] AS OD
JOIN dbo.Orders AS O
ON OD.OrderID = O.OrderID
WHERE CustomerID = 'TOMSP';
--下面这样更新,没效果,还需试试...
--没有增加 WITH VALUES时:
--增加 WITH VALUES 之后:
无意中瞟到了这个地方 WITH VALUES
DML_Data Modification_UPDATE的更多相关文章
- DML_Modifying Data Through Table Expressions_UPDATE
DML_Modifying Data Through Table Expressions_UPDATE之前也学习过使用CTE,再来泛泛的学习下,最后将会将一些书籍上或学习到的CTE来个小结 /* Mi ...
- DML_Data Modification_DELETE
DML_Data Modification_Delete删除记录比较简单,但是需要特别注意,一不小心,就变成了 “从删库到跑路“ 就掉的大了 /* Microsoft SQL Server 2008 ...
- DML_Data Modification_MERGE
DML_8-Data Modification_MERGE (将Source表合并到Target) 语法:MERGE INTO 目标表USING 源表WHEN MATCHED AND ...
- DML_Data Modification_INSERT
Data Modification (INSERT.DELETE.UPDATE.MERGE)之INSERT(基础知识,算是20年来第2次学习MSSQL吧,2005年折腾过一段时间的Oracle)INS ...
随机推荐
- 你真的了解负载均衡中间件nginx吗?
前言 nginx可所谓是如今最好用的软件级别的负载均衡了.通过nginx的高性能,并发能力强,占用内存下的特点,可以搭建高性能的代理服务.同时nginx还能作为web服务器,反向代理,动静分离服务器. ...
- Django之web框架和url路由
一.web框架 1.什么是web框架 Web框架是用来进行Web应用开发的一个软件架构,开发者在基于Web框架实现自己的业务逻辑.Web应用本质上就是一个socket服务端,而用户的浏览器就是一个so ...
- 在IDEA中使用Spring写一个HelloWorld
准备工作 1.使用IDEA2018专业版, 我试了IDEA2019教育版和IDEA2020社区版,都无法顺利创建一个Spring项目,实在是恼火,一气之下,统统卸载掉. 重装了一个IDEA2018专业 ...
- Java——关键字instanceof
instanceof 判断一个对象是否为一个类的实例,是为true ,否为false class Animal{} class Cat extends Animal{} /**instanceof 判 ...
- Linux退出vi编辑
按ESC键 跳出vi的编辑命令,然后: :w 保存文件但不退出vi:w file 将修改另外保存到file中,不退出vi:w! 强制保存,不推出vi:wq 保存文件并退出vi:wq! 强制保存文件,并 ...
- 关于mobileSelect.js日期数据获取封装,动态时间,封装
传入起始年份和起始月份 得到 插件的标准格式放到 效果 let getAllDatas = (stime, etime) => { //接收传进来的参数月份 var data_M = etime ...
- C#判断TCP连接状态
- 实验二:Linux系统简单文件操作命令
項目 内容 这个作业属于哪个课程() 课程链接 这个作业的要求在哪里 实验要求 学号-姓名 17043133-木腾飞 作业学习目标 学习在Linux系统终端下进行命令行操作: 学习掌握常用命令行操作并 ...
- 剑指Offer之二进制中1的个数
题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 解法1:使用Integer.toBinanryString()返回int变量的二进制表示的字符串. [在Intege ...
- Java四种访问修饰符
Java 四种访问权限 一.概述 访问等级比较:public > protected > default > private 无论是方法还是成员变量,这四种访问权限修饰符作用都一样 ...