mysql 語句,存儲過程使用

一、有時發現存儲過程中,使用局部變量過濾後沒有結果,但實際單獨執行是有數據的。

解決方法:

   將局部變量改成 用戶變量。 如果是指針,因爲無法直接把指針賦給用戶變更。所以可以先用局部變量,將局部變量 指定類型賦值給用戶變量。

  

set @v_ITEMCODE := CONVERT(vITEMCODE ,char);
set @v_ITEMQTY := CONVERT(vITEMQTY ,DECIMAL);
    

 

  • 局部變量:只在當前begin/end代碼塊中有效
  • 用戶變量:在客戶端鏈接到數據庫實例整個過程中用戶變量都是有效的。

有的時候在存儲過程中也可以考勤使用臨時表。創建臨時表代碼必須要放到所有DECLARE之後。           

drop temporary table if exists demand_str_tmp;
CREATE temporary TABLE demand_str_tmp(
tmp_vVendorID varchar(50),
tmp_vITEMCODE VARCHAR(200),
tmp_vITEMQTY DECIMAL(18,3));
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章