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 ...
随机推荐
- Spring 基于设值函数(setter方法)的依赖注入
当容器调用一个无参的构造函数或一个无参的静态 factory 方法来初始化你的 bean 后,通过容器在你的 bean 上调用设值函数,基于设值函数的 DI 就完成了. 下述例子显示了一个类 Text ...
- 【Java_SSM】(三)maven中的配置文件setting的配置
这篇博文我们介绍两方面:如何修改setting.xml文件及相应配置(本文maven版本为3.5.0) (1)首先打开maven文件目录--conf,会看见如下目录 (2)复制setting.xml文 ...
- Java——用程序编译一个文件夹下所有java文件到另一个文件夹下
package com.java.test.a; import java.io.IOException; import java.util.ArrayList; import java.util.Ar ...
- byte值的问题
byte值的问题 byte b1 = 127; byte b2 = (byte)128; //-128 byte b3 = (byte)129; //-127 byte b4 = (byte)130; ...
- async/await 内幕【译文】
C# Under the Hood: async/await 原文地址:https://www.markopapic.com/csharp-under-the-hood-async-await/ 前言 ...
- linux高级管理第十四章--kvm虚拟化
案例 安装kvm所需软件 验证 注:虚拟机要开启虚拟引擎 开启服务 环境准备 安装相关软件包 启动 创建网桥 重启,reboot 安装虚拟机 完成.
- 使用Docker发布blazor wasm
Blazor编译后的文件是静态文件,所以我们只需要一个支持静态页面的web server即可. 根据不同项目,会用不同的容器编排,本文已无网关的情况下为例,一步一步展示如何打包进docker 需求 H ...
- Shellshock漏洞复现
漏洞分析: exp: curl -A "() { :; }; echo; /bin/cat /etc/passwd" http://172.16.20.134:8080/victi ...
- 这些Java8官方挖过的坑,你踩过几个?
导读:系统启动异常日志竟然被JDK吞噬无法定位?同样的加密方法,竟然出现部分数据解密失败?往List里面添加数据竟然提示不支持?日期明明间隔1年却输出1天,难不成这是天上人间?1582年神秘消失的10 ...
- Scala - 语言专家 - Desugar Scala code
https://mp.weixin.qq.com/s/zwrG1MfUzXwtik7jotpQsA 介绍Intellij IDEA中的一个去除Scala语法糖的功能. 1. 去除 ...