【发布时间】:2012-05-28 19:57:00
【问题描述】:
我创建了一个例程,它在一个表中插入一条记录,然后它搜索该 id(使用 select 语句)并使用该 id 更新另一个表的字段。这可能吗?这是一个例程,所以我的问题是语句是否按顺序执行?
提前致谢
【问题讨论】:
-
因为您已经编写了该例程,您应该尝试执行它,您就会知道。有什么错误吗?它将按顺序执行。
-
你不能使用更新触发器吗??
我创建了一个例程,它在一个表中插入一条记录,然后它搜索该 id(使用 select 语句)并使用该 id 更新另一个表的字段。这可能吗?这是一个例程,所以我的问题是语句是否按顺序执行?
提前致谢
【问题讨论】:
您不需要搜索 id。您可以使用LAST_INSERT_ID() 来获取最后插入的行的ID。
INSERT INTO tablename
(<columns>)
VALUES
(<columnvalues>);
SELECT LAST_INSERT_ID() INTO somevariable;
然后你可以写你的UPDATE声明。
UPDATE sometable
SET sometable.col = somevariable
WHERE sometable.something = @something
例程中的语句按照它们编写的顺序执行。
【讨论】: