mysql使用小記

2021-05-26 19:07:57 字數 835 閱讀 2921

最近專案開發採用mysql作資料庫,邏輯全部封裝到儲存過程,c++ otl訪問。

1 otl對mysql的支援並不咋的,不能訪問帶out型別的儲存過程。解決方案是將out引數放在結果集中返回(後果是每條結果都包含這個變數...)。

2 otl不能返回不同的結果集,只能選擇拆分儲存過程。

3 update不能用row_count() < 1來判斷操作是否成功,可用@@error_count != 0。

4 mysql儲存過程不支援陣列引數,解決方案是將陣列格式化成字串。

查詢的時候用','隔離自然是最好的選擇:

set @sqlstr=concat( 'select * from tb_1 where f_1 in (', param_str, ');');

prepare stmt from @sqlstr;

execute stmt;

其它間隔符就麻煩點了比如『-』:

declare i int default 0;

set @sqlstr = 'select * from tb_1 where f_1 in (';

repeat set i = i + 1; 

if i != 1 then

set @sqlstr=concat(@sqlstr, ',');

end if;

set @sqlstr=concat(@sqlstr, substring_index( substring_index(param_str, '-', i), '-', -1) );

until i >= count end repeat;

MYSQL命令小記

本人不才,記錄一下sql命令。使用mysql。1 顯示資料庫 show databases 要加s 2 建立資料庫 create database one 資料庫名字為one 下面都是用one來代表 可通過show databases檢視 3 刪除資料庫 drop database one 4 進入...

oracle rownum使用小記

對於 oracle 的 rownum 問題,很多資料都說不支援 between.and,只能用以上符號 並非說用 gt between.and 時會提示sql語法錯誤,而是經常是查不出一條記錄來,還會出現似乎是莫名其妙的結果來,其實您只要理解好了這個 rownum 偽列的意義就不應該感到驚奇,同樣是...

libtiff使用小記

這兩天就跟libtiff庫卯上了,總會遇到奇怪的問題。現在問題或直接或曲折的解決了,一一記錄下來。問題一 tiffsetdirectory函式的使用。目的 交叉讀取tiff中兩頁的每一行,假設第一頁tif為tif 0,第二頁tif為tif 1。我的目的就是先讀tif 0的第i行,然後讀tif 1的第...