请教一个关于用户自定义函数update的问题 自定义函数中无法用update改存储过程吧. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 未在下面的列表中列出的语句不能用在函数主体中。 赋值语句。控制流语句。DECLARE 语句,该语句定义函数局部的数据变量和游标。SELECT 语句,该语句包含带有表达式的选择列表,其中的表达式将值赋予函数的局部变量。游标操作,该操作引用在函数中声明、打开、关闭和释放的局部游标。只允许使用以 INTO 子句向局部变量赋值的 FETCH 语句;不允许使用将数据返回到客户端的 FETCH 语句。INSERT、UPDATE 和 DELETE 语句,这些语句修改函数的局部 table 变量。EXECUTE 语句调用扩展存储过程。 安全说明 验证所有用户输入。验证之前,不要串联用户输入。绝对不要执行根据尚未验证的用户输入构造的命令。有关更多信息,请参见验证用户输入。 你的逻辑出问题了,呵呵.你这些只更新plan_id = null的记录你想做什么呢? 给你写个存储过程CREATE Procedure uf_ifjumpout ( @as_ssnno char(18), @as_modeno char(10), @ai_pass integer, @as_repperno char(10) , @li_sqlerr int output) AS BEGIN declare @li_jumpout integer , @li_ret integer, @adec_planid decimal(18), @ls_procno char(10), @ls_orderno char(18), @ldt_todaytime datetime, @ldt_jumpdate datetime if @ai_pass = 0 begin select @adec_planid = (select max(plan_id) from pp_plan_mstr where plan_planqty > plan_inqty) if isnull(@adec_planid, 0) = 0 begin update pp_plan_mstr set plan_inqty = plan_inqty + 1 where plan_id = @adec_planid; end end END 月份的格式--------肯定给分 not in 的问题 这个SQL问怎么写(在线交流) 求一sql语句!内详.谢谢! 求SQL? 表查询的问题, sql 数据 加锁 解锁 小小问题:VFP中的ON ERROR语句 哪里有网络数据库开发的书?或oracle+delphi或SQL server 2000+delphi,有完整实例? 求助,sql2000的error日志发现有个数据库频繁启动 四个查寻语句是什么? 谁来救救我呀!!!一个数据链接的问题(现给100分不够再加)
控制流语句。
DECLARE 语句,该语句定义函数局部的数据变量和游标。
SELECT 语句,该语句包含带有表达式的选择列表,其中的表达式将值赋予函数的局部变量。
游标操作,该操作引用在函数中声明、打开、关闭和释放的局部游标。只允许使用以 INTO 子句向局部变量赋值的 FETCH 语句;不允许使用将数据返回到客户端的 FETCH 语句。
INSERT、UPDATE 和 DELETE 语句,这些语句修改函数的局部 table 变量。
EXECUTE 语句调用扩展存储过程。
安全说明 验证所有用户输入。验证之前,不要串联用户输入。绝对不要执行根据尚未验证的用户输入构造的命令。有关更多信息,请参见验证用户输入。
你这些只更新plan_id = null的记录
你想做什么呢?
CREATE Procedure uf_ifjumpout (
@as_ssnno char(18),
@as_modeno char(10),
@ai_pass integer,
@as_repperno char(10) ,
@li_sqlerr int output)
AS
BEGIN
declare @li_jumpout integer ,
@li_ret integer,
@adec_planid decimal(18),
@ls_procno char(10),
@ls_orderno char(18),
@ldt_todaytime datetime,
@ldt_jumpdate datetime if @ai_pass = 0
begin
select @adec_planid = (select max(plan_id) from pp_plan_mstr where plan_planqty > plan_inqty)
if isnull(@adec_planid, 0) = 0
begin
update pp_plan_mstr set plan_inqty = plan_inqty + 1 where plan_id = @adec_planid;
end
end
END