sql-SQL多表修改,联动修改问题

问题描述

SQL多表修改,联动修改问题

表一

 create table yaopinyp --药品饮片
(
ypid int identity(1,1) primary key,
ypname varchar(100),--药品名称
ypmoney DECIMAL(10,2),--药品单计
ypjjmoney DECIMAL(10,2),--药品进价
ypscmoney DECIMAL(10,2),--药品市场价格
ypsm text,--药品说明
yplx varchar(10),--克/千克/斤/公斤
ypfl int foreign key (ypfl) references YinPian(ypid),       --分类一根据YinPian表
scid int,--企业
ypkc int default 0,--库存
times datetime default  getdate(),
)
 create table YinPian        --饮片分类表
(
    ypid int primary key identity(1,1),            --饮片Id
    ypname varchar(50),                            --饮片名称
    ypsjid int ,                                --上级id,0为一级id,二级的id为一级的id
)

两个表是相互关联的,修改表一中的分类字段,表二中的字段也跟着修改。由于表一种没有ON DELETE CASCADE,求没有ON DELETE CASCADE的联动修改语句怎么写?


例如,我想修改表一中‘薄荷1’的ypfl的字段,同时联动表二中ypid和ypname字段

解决方案

SQL Update多表联合修改

解决方案二:

这个适合于使用触发器

解决方案三:

小弟不才,请教各位帮忙做一下触发器或者写一下语句,十分感谢

时间: 2024-10-29 18:32:58

sql-SQL多表修改,联动修改问题的相关文章

sql根据一个表的id修改另一个表的内容

问题描述 sql根据一个表的id修改另一个表的内容 sql根据一个表的id修改另一个表的内容,假如有两个表,A,B a表设置了b表的外键,想 根据b表的id,update A表的数据,sql语句怎么写,求大神帮帮忙,另外 按照这样的,删除功能怎么写 解决方案 update table set xxx = xxx where 主键 in (select 外键 in table2 where id = xxx) 解决方案二: sql 判断一个表的数据不在另一个表中SQL 根据一个表更新另一个表的内容

SQL Server 2008如何用命令修改字段

环境:SQL Server 2008 R2 问题:修改字段出错(将Course表的课程名字段增大长度) 解 决: 错误命令版本1: alter table Course modify column cname char(20);--'modify' 附近有语法错误. 错误命令版本2: alter table Course modify cname char(20);--'modify' 附近有语法错误. 正确的命令: alter table Course alter column cname c

SQL Server 2005中查询并修改数据的不合理设计

在SQL Server 2000中,我们想在数据库表中直接修改数据,一般的操作方法是:在SQL Server 企业管理中,选择相应的表,点击右键,在"打开表"中选择"查询",在SQL编辑窗口中输入SQL语句找到要修改的记录,然后在结果窗口中直接修改相应的字段. 那在SQL Server 2005中,需要怎样操作呢? 在SQL Server Management Studio中,找到相应的表,点击右键,选择"Open Table",然后点击&quo

你真的会玩SQL吗?简单的数据修改

你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节点的方法 你真的会玩SQL吗?让人晕头转向的三值逻辑 你真的会玩SQL吗?EXISTS和IN之间的区别 你真的会玩SQL吗?无处不在的子查询 你真的会玩SQL吗?Case也疯狂 你真的会玩SQL吗?表表达式,排名函数 你真的会玩SQL吗?简单的 数据修改 你真的会玩SQL吗?你所不知道的 数据聚合

Sql中存储过程的定义、修改和删除操作

1.存储过程的分类 系统存储过程 本地存储过程(用户自定义) 临时存储过程(局部[#].全局[##]临时存储过程) 2.创建存储过程 --选出价格区间的商品信息 create procedure sp_goods_price @minprice float ,@maxprice float as select * from goods where price>=@minprice and price <=@maxprice go 执行存储过程: execute sp_goods_price 2

SQL Server 树形表非循环递归查询的实例详解_MsSql

很多人可能想要查询整个树形表关联的内容都会通过循环递归来查...事实上在微软在SQL2005或以上版本就能用别的语法进行查询,下面是示例. --通过子节点查询父节点 WITH TREE AS( SELECT * FROM Areas WHERE id = 6 -- 要查询的子 id UNION ALL SELECT Areas.* FROM Areas, TREE WHERE TREE.PId = Areas.Id ) SELECT Area FROM TREE --通过父节点查询子节点 WIT

sql update多表联合更新的方法

sql update多表联合更新的方法 可以根据一个表的字段的值 像关联查询一样 修改 一个表的字段值 和另一个表关联 update 表一 set 表一.列名= 表二.列名 from 表一,表二 where 表一.ID = 表二.ID 本文总结了Update语句更新多表时在SQL Server,Oracle,MySQL三种数据库教程中的用法.我也试 了SQLite数据库,都没成功,不知是不支持多表更新还是咋的. 在本例中: 我们要用表gdqlpj 中的gqdltks,bztks字段数据去更新la

你真的会玩SQL吗?表表达式,排名函数

你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节点的方法 你真的会玩SQL吗?让人晕头转向的三值逻辑 你真的会玩SQL吗?EXISTS和IN之间的区别 你真的会玩SQL吗?无处不在的子查询 你真的会玩SQL吗?Case也疯狂 你真的会玩SQL吗?表表达式,排名函数 你真的会玩SQL吗?简单的 数据修改 你真的会玩SQL吗?你所不知道的 数据聚合

SQL Server 树形表非循环递归查询的实例详解

很多人可能想要查询整个树形表关联的内容都会通过循环递归来查...事实上在微软在SQL2005或以上版本就能用别的语法进行查询,下面是示例. --通过子节点查询父节点 WITH TREE AS( SELECT * FROM Areas WHERE id = 6 -- 要查询的子 id UNION ALL SELECT Areas.* FROM Areas, TREE WHERE TREE.PId = Areas.Id ) SELECT Area FROM TREE --通过父节点查询子节点 WIT