为了账号安全,请及时绑定邮箱和手机立即绑定

T-sql 创建function 里面执行 update语句 遇到的问题

T-sql 创建function 里面执行 update语句 遇到的问题

茅侃侃 2018-12-07 01:38:53
我有两张表,一张是:Prod_Device,另一张是:Prod_DevicePhase两张表是有关联的。 我想根据 Prod_Device 表的 FNumber 字段 和 Prod_DevicePhase表的 FPhaseName字段的条件而清空体 Prod_DevicePhase表的FFinisherID , FFinishDate字段,所以定义了一个 function 在检查的时候,没有语法错误,可是在运行的时候,就提示: “消息 443,级别 16,状态 2,过程 SetAssureBack,第 5 行在函数内不正确地使用了 'UPDATE'。”,求高人指教. create function SetAssureBack (@FNumber varchar(50),@FPhaseName varchar(50))returns intasbegin    update Prod_DevicePhase set FFinisherID=null,FFinishDate=null where FDeviceID = (select  FID from Prod_Device where FNumber=@FNumber)  and  FPhaseName=@FPhaseName; return 1;endgo
查看完整描述

3 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

FDeviceID IN (select FID....

查看完整回答
反对 回复 2019-01-07
?
手掌心

TA贡献1942条经验 获得超3个赞

看意思好像不能在里面用update,如果想用,换成procedure吧。

查看完整回答
反对 回复 2019-01-07
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

只能执行select语句,不支持update,insert,

查看完整回答
反对 回复 2019-01-07
  • 3 回答
  • 0 关注
  • 748 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信