1
我试图从表中获取所有数据,然后使用存储过程清除所有数据。我试过以下内容:Sybase存储过程中的SELECT和TRUNCATE
ALTER PROCEDURE "RD1DTA"."my_procedure"()
BEGIN
SELECT * FROM rd1dta.qrtsp
TRUNCATE TABLE rd1dta.qrtsp
END
这只会做SELECT,但它不会做TRUNCATE。如果我在SELECT之前执行TRUNCATE,那么它会执行TRUNCATE而不是SELECT。我怎样才能做到这一点?
我正在使用sybase来执行此操作。
你将如何处理选择? (目的是什么) – 2014-09-26 04:56:42
第三方正在使用它。实际的程序看起来比这更复杂。他们通过AJAX请求向我发送一些ID。我将这些ID转储到表中。我使用这些ID来显示他们想要的一些数据(当他们调用这个过程时)。但是他们希望程序也清除这些ID。 – 2014-09-26 06:36:32
这种方法很可能会遇到并发问题(超过1个用户会被炸掉),请阅读:http://sqlblog.com/blogs/paul_white/archive/2012/08/15/temporary-tables-in-stored- procedures.aspx – 2014-09-26 06:43:38