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的更多相关文章

  1. DML_Modifying Data Through Table Expressions_UPDATE

    DML_Modifying Data Through Table Expressions_UPDATE之前也学习过使用CTE,再来泛泛的学习下,最后将会将一些书籍上或学习到的CTE来个小结 /* Mi ...

  2. DML_Data Modification_DELETE

    DML_Data Modification_Delete删除记录比较简单,但是需要特别注意,一不小心,就变成了 “从删库到跑路“ 就掉的大了 /* Microsoft SQL Server 2008 ...

  3. DML_Data Modification_MERGE

    DML_8-Data Modification_MERGE (将Source表合并到Target) 语法:MERGE INTO 目标表USING 源表WHEN MATCHED AND          ...

  4. DML_Data Modification_INSERT

    Data Modification (INSERT.DELETE.UPDATE.MERGE)之INSERT(基础知识,算是20年来第2次学习MSSQL吧,2005年折腾过一段时间的Oracle)INS ...

随机推荐

  1. poj3376 KMP+字典树求回文串数量(n*n)

    Finding Palindromes Time Limit: 10000MS   Memory Limit: 262144K Total Submissions: 4043   Accepted: ...

  2. docker-compose 命令详解

    1.docker-compose的使用非常类似于docker命令的使用,但是需要注意的是大部分的compose命令都需要到docker-compose.yml文件所在的目录下才能执行. 2.[Linu ...

  3. MySQL复制表结构以及复制表等等

    mysql中用命令行复制表结构的方法主要有一下几种: 1.只复制表结构到新表 1 CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2; 或 1 CREATE TABL ...

  4. oracle表按日期分区创建、新增、修改、删除

    Oracle11G分区表 当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区.表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多 ...

  5. 前端内网穿透,localtunnel你值得拥有!

    一个前端在调试本地页面时,总会有些稀奇古怪的需求,比如产品立刻要看你的页面效果,而此时有没有上线环境折腾给他看,那此时通过内网穿透的方式,实时把你的项目生成一个在线链接丢给他,让他去找那一像素的bug ...

  6. [256个管理学理论]005.羊群效应(Herd Behavior)

    羊群效应(Herd Behavior) 来自于大洋彼岸的让你看不懂的解释: “羊群效应”,也叫“从众效应”,是个人的观念或行为由于真实的或想像的群体的影响或压力,而向与多数人相一致的方向变化的现象.表 ...

  7. [JavaWeb基础] 021.Action中result的各种转发类型

    在struts2中, struts.xml中result的类型有多种,它们类似于struts1中的forward,常用的类型有dispatcher(默认值).redirect.redirectActi ...

  8. [翔哥高手无敌之路]0-002.如何提取apk中的信息?

    面对一款apk软件,我们如何去获取它的信息,如何获取它的版本号,包名,或者ID,用户权限,这些信息都隐藏在apk包中的AndroidManifest.xml文件中,解开它我们就能获取任何想要的信息.但 ...

  9. 设计并测试Trapezium类 代码参考

    #include <iostream> using namespace std; class Trapezium { private: int x1,y1,x2,y2,x3,y3,x4,y ...

  10. PSR-4 的实现示例

    闭包实例 <?php /** * 一个具体项目实现的示例. * * 在注册自动加载函数后,下面这行代码将引发程序 * 尝试从 /path/to/project/src/Baz/Qux.php * ...