我试图从表中获取所有数据,然后使用存储过程清除所有数据。我尝试了以下方法:
ALTER PROCEDURE "RD1DTA"."my_procedure"()
BEGIN
SELECT * FROM rd1dta.qrtsp
TRUNCATE TABLE rd1dta.qrtsp
END
这只做SELECT,但它没有做TRUNCATE。如果我在SELECT之前执行TRUNCATE,那么它执行TRUNCATE但不执行SELECT。我怎么做到这两点呢?
我正在使用sybase执行此操作。
答案 0 :(得分:1)
丹尼尔,
使用临时表:
ALTER PROCEDURE "RD1DTA"."my_procedure"()
BEGIN
SELECT * INTO #XYZ FROM rd1dta.qrtsp
TRUNCATE TABLE rd1dta.qrtsp
SELECT * FROM #XYZ
END
希望有所帮助。
-Dave