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 ...
随机推荐
- IDEA启动springboot项目找不到application.yml配置文件
idea启动项目时读取不到application-pro.yml文件,但是配置文件都在resource目录下: 解决:target/classes 目录是IDEA的classpath目录,项目编译后配 ...
- Python_OpenCV学习记录01安装
Python照样快! 众所周知,虽然Python语法简洁,编写高效,但相比C/C++运行慢很多.然 而Python还有个重要的特性:它是一门胶水语言!Python可以很容易地扩展 C/C++.Open ...
- Flutter “孔雀开屏”的动画效果
老孟导读:今天分享一个类似"孔雀开屏"的动画效果,打开新的页面时,新的页面从屏幕右上角以圆形逐渐打开到全屏. 先来看下具体的效果 不知道这种效果大家叫什么名字?如果有更合适的名字可 ...
- c# 优化代码的一些规则——优先隐式类型[一]
前言 说到底就是优先使用var,这个关键字,在c# 3.0中出现了. 首先要确认几点,一个就是var 是静态变量,而不是动态变量,也就是说使用var 你是不必去担心性能问题得, 百度百科: 1)静态存 ...
- 用tarjan求LCA板子(比倍增快)
懒!!直接转载!!!! https://solstice23.top/archives/62
- noip2019(普及组) 公交换乘 (不剪枝见祖宗题)
luogu题目传送门 其实就是一道普普通通的模拟题,但是1e5的数据让很多不看数据范围和不加优化的小伙伴们莫名其妙的T了.(包括我) 因此,论减枝的重要性!! 于是乎,最重要的一点也就出来了.早就过期 ...
- jchdl - RTL实例 - AndAnd
https://mp.weixin.qq.com/s/JhUB3M1WhjAyUrN1HPIPTA AndAnd是三输入与门模块,输出为相与的结果. 参考链接 https://github.c ...
- ActiveMQ 笔记(三)JMS规范和落地产品、小知识Broker
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.JMS规范概述 1.JavaEE 概述及主要核心规范 JavaEE是一套使用Java进行企业级应用开 ...
- 【JVM】垃圾回收器总结(2)——七种垃圾回收器类型
七种垃圾回收器类型 GC的约定参数 DefNew——Default New Generation Tenured——Serial Old ParNew——Parallel New Generation ...
- Java实现第十届蓝桥杯组队
试题 A: 组队 本题总分:5 分 [问题描述] 作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员, 组成球队的首发阵容. 每位球员担任 1 号位至 5 号位时的评分如下表所示. ...