网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月02日漏签0天
sql吧 关注:57,221贴子:144,717
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 3回复贴,共1页
<<返回sql吧
>0< 加载中...

SQL Server 2008,简单字段关系问题,求大神指教

  • 只看楼主
  • 收藏

  • 回复
  • 绿茵场的遐想
  • 中级粉丝
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


名为Restaurant的数据库中有两张表Rest_foodtype和Rest_food,两张表中都有FoodType这个字段,我希望在更改Rest_foodtype中的FoodType的值时,Rest_food中相应的值也能跟着改变,该怎么做?


  • 绿茵场的遐想
  • 中级粉丝
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
顶一下,新人刚刚接触SQL,有很多东西不懂,求大神指导~


2025-06-02 20:16:55
广告
  • chouat
  • 高级粉丝
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
同是新人,给你看下我的做法吧,用存储过程,根据FoodType.ID字段修改,语句如下.
create proc change
@foodtype varchar(10),
@ID int
as
begin
update Rest_food set FoodType=@foodtype
where FoodType=(select FoodType from Rest_foodtype where ID=@ID)
update Rest_foodtype set FoodType=@foodtype where ID=@ID
end
go
exec change @foodtype='水果',@ID=6
经过测试,能实现你需要的功能,我个人觉得还有可以改进的地方,比如根据FoodType,因为如果食品类型数据过多,根据ID修改就很麻烦了,除非另写条语句获取该ID,在执行以上操作.个人设想使用触发器实现,可惜能力有限,没搞成.


  • hdning1986
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
往Rest_foodtype这个表写个触发器就可以了。
create TRIGGER [foodtype] on [dbo].[Rest_foodtype]
FOR update
AS
declare
@Id nchar(10),
@FoodType nchar(10),
begin
update a set a.FoodType=b.FoodType from Rest_food a,Rest_foodtype b
where a.Id=b.Id
end
这样应该没问题,试下看看


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 3回复贴,共1页
<<返回sql吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示