我有被聲明爲這樣一個光標(可能):MySQL的遊標提取而不聲明變量
DECLARE staging_cur CURSOR FOR
SELECT
col1, col2, ......
FROM crawl_db.staging_listing
WHERE is_deleted = FALSE;
我然後取各行,進行一些檢查,然後插入一行到另一(生產)數據庫
OPEN staging_cur;
the_loop: LOOP
FETCH staging_cur
INTO col1_val, col2_val,.....;
-- perform some checks and some optional inserts
-- for example, if city with given name is not found in production DB, insert it
-- insert into production db
END LOOP the_loop;
原來自己需要聲明的變量(col1_val, col2_val ...
)爲表staging_listing的(col1, col2....
)每個對應列中。問題是這個表格包含90-100列,並聲明所有變量真的很麻煩
看來應該有一個比這更好的方法。有什麼方法可以訪問遊標當前行的列,而無需聲明單獨的變量來保存列值?
變量的目的是什麼? – 2013-03-18 07:47:49
其中一些用於「執行一些檢查」步驟。其中大部分用於'insert into production db'步驟。 – arahant 2013-03-18 07:53:34