當前位置:首頁 » 存儲配置 » mysql存儲過程字元串拼接字元串

mysql存儲過程字元串拼接字元串

發布時間: 2023-03-08 01:07:27

A. mysql利用存儲過程實現批量處理數據的簡單操作

-- 判斷存儲test是否存在,如果存在則刪除

DROP PROCEDURE IF EXISTS test;

-- 創建存儲過程

CREATE PROCEDURE test()

BEGIN

-- 聲明循環變數int型 i

DECLARE i INT DEFAULT 1;

-- 設置i=0

set i=0;

-- 循環100次

while i<100 do

-- if判斷i為偶數

if i%2 = 0 THEN

-- 要實現的操作  CONCAT(str1,str2,...) concat函數用於拼接子串和數字類型

INSERT into user(name,addr) VALUES(CONCAT('test',i,'ss'),'addr');

end if;

-- i自增

set i=i+1;

END WHILE;

END;

-- 調用存儲過程

CALL test()

B. mysql存儲過程求大神(拼接字元串)

DROPPROCEDUREIFEXISTS`p_create_view`

CREATEPROCEDUREp_create_view()
BEGIN
DECLAREtableNameVARCHAR(100);
DECLAREstopFlagINT;
DECLAREsql1VARCHAR(1000);
DECLAREcursor_nameCURSORFORSELECTTABLE_NAMEFROMinformation_schema.tablesWHERETABLE_NAMELIKE'test_2014%';
'02000'SETstopFlag=1;
SET@sql1='createviewtestasselectid,namefrom';
OPENcursor_name;
REPEAT
FETCHcursor_nameINTOtableName;
SELECTCONCAT(@sql1,tableName,'UNIONALLSELECTid,nameFROM')INTO@sql1FROMDUAL;
UNTILstopFlagENDREPEAT;
CLOSEcursor_name;
SELECTSUBSTR(@sql1,1,LENGTH(@sql1)-31)INTO@sql1FROMDUAL;
PREPAREstepFROM@sql1;
EXECUTEstep;
END;

C. MySQL怎麼寫存儲過程查詢某個表的某一條記錄,並把這條記錄的所有列名對應的值以json格式返回呢

給你個思路吧,既然你能問出這種問題應該是有了思路就會自己做的人,就不幫你寫代碼了。
首先,你確定這個表的所有欄位中沒有二進制內容,如果沒有的話,下面這個思路你可以試試,但是如果有的話估計就需要對二進制進行特別的處理了,如果你有的話再追問吧。
思路開始:
1.如果你是對一張確定的表(提前已經知道表結構)進行這樣的處理,那就查詢出來一條記錄,通過Mysql的字元串拼接函數CONCAT,按照JSON格式,慢慢的拼一個字元串,最後通過select這個字元串返回這個字元串就行了。
2.如果之前你並不知道,這個表的結構,甚至你根本不知道自己要處理的是那張表,那麼存儲過程中你需要傳遞一個表名進來,然後查詢information_schema資料庫中的COLUMNS表,從而獲得這個表的具體欄位信息,以及各個欄位的先後順序(為後面拼接字元串使用),剩下的就跟1中描述的思路一樣了。

雖然不知道你的用處是什麼,不過,以我個人的經驗,這種返回JSON的方式並不可取,這樣會增加資料庫的負擔,理論上應該是將數據出來後自己在程序中拼接。

D. mysql存儲過程中 如何拆分字元串

MySQL分割字元串應該如何實現呢?下面就為您介紹MySQL分割字元串的實現方法步驟,希望可以讓您對MySQL分割字元串有更多的了解。

例如:update `edw_video` set company = substring(keyword,1,length(SUBSTRING_INDEX(keyword,",",1)))

名稱:SPLIT_SUB_STR1(取得split字元串的第一段)
參數:str 要split的目標字元串 (輸入格式為『11,2,3,4,5,6』; 輸出為『2,3,4,5,6』)
delimiter 分隔符 (『,』)
split1 輸出第一項(『11』)
存儲過程
CREATE DEFINER=`root`@`%` PROCEDURE `SPLIT_SUB_STR0`(inout str VARCHAR(1000) ,delimiter VARCHAR(1), out split1 VARCHAR(20))

BEGIN
# 名稱 SPLIT_SUB_STR1 取得分割字元串的第一段字元
# 參數inout str VARCHAR(1000) ,delimiter VARCHAR(1), out split0 VARCHAR(20)
# 輸入完整字元串,輸出去掉取得第一項後的字元串; 分隔符; 輸出split的第一個項目

#分割出第一段字元串不包括分隔符的長度
DECLARE SUB_STR_LENGTH INT;

# SUBSTRING_INDEX函數取得目標字元串左側第n個分割符左側的部分,n為負時返回右側第n個的右部分
SET SUB_STR_LENGTH = length(SUBSTRING_INDEX(str,delimiter,1));

#截取第一段字元串,不包括分隔符,放入輸出參數里
SET split0 = substring(str, 1, SUB_STR_LENGTH);

# 取得去掉第一個字元串和分隔符的字元串,進行下次循環取得下個字元串
SET str = substring(str, SUB_STR_LENGTH + 2 );
#測試一下輸出是否正確
#SELECT SUB_STR_LENGTH, SUB_STR_SPLIT0, STR;
END

調用實例

CREATE DEFINER=`root`@`%` PROCEDURE `test`()
BEGIN
#目標字元串
set @a = 』1,2,3,4,5,6,12『;
# 分隔符
set @c = ',';
# 存儲風格後的字元串
set @b = '';

REPEAT
# 調用上面的存儲過程
CALL SPLIT_SUB_STR0(@a, ',', @c);
#將取得的字元串拼接,測試用
set @b = concat(@b, @c);
#當目標字元串為空時,停止循環
UNTIL @a = ''
END REPEAT;
# 查看結果
select @a, @c, @b;

END;

E. mysql中字元串的拼接用什麼函數

mysql不能直接運行動態sql語句的,但是可以寫在存儲過程中,然後調用過程執行,具體如下:

(1)定義存儲過程,示例CREATEDEFINER=`root`@`localhost`PROCEDURE`query_extra_table(table_indexvarchar(255));

BEGIN

SET@sql=concat("select*fromtbl_order_",table_index);

PREPAREstmtFROM@sql;

EXECUTEstmt;

(2)調用存儲過程:

CALLquery_extra_table('483')

F. MySQL中寫存儲過程用到連接字元串函數concat_ws()出錯

簡單的方法是你在存儲過程中列印SQL,
set y_sql=concat_ws(' ','insert','into',tmp4data,'value','(',var1,var2,')');
select y_sql;

看看y_sql合並生什麼, 其次在動態SQL過程中, 你定義的tmp4data到底是變數還是表的名稱,如果是名稱就需要添加分號

G. mysql存儲過程一個參數有多個逗號分割

這個應該可以使用字元串拼接,你是不是這樣寫存儲過程:
create procere p_proc(var_in int)
begin
delete from [tableName] where [colName] in (var_in);

end

然後又這樣調用:
call p_proc(1, 2, 3);
這樣肯定不行,那麼你可以這樣:
create procere p_proc(var_in varchar(5000))
begin

set @sql = concat("delete from [tableName] where [colName] in (", var_in, ")");

prepare stmt_exe_sql from @sql;
execute stmt_exe_sql;
deallocate prepare stmt_exe_sql;
end

這樣就相當於把(1, 2, 3)拼接成語句"delete from [tableName] where [colName] in (1, 2, 3)", 然後執行,就可以刪除了。

熱點內容
安卓手機上網怎麼連接電腦 發布:2025-05-20 08:28:30 瀏覽:548
福建公積金密碼是什麼 發布:2025-05-20 08:28:13 瀏覽:507
學習編程用什麼軟體好 發布:2025-05-20 08:27:28 瀏覽:599
我的世界電腦版伺服器小游戲怎麼下載 發布:2025-05-20 08:17:12 瀏覽:533
離線語音識別android 發布:2025-05-20 08:11:37 瀏覽:153
小鳥雲如何去看客戶伺服器密碼 發布:2025-05-20 07:58:51 瀏覽:898
怎麼更改app的密碼 發布:2025-05-20 07:54:32 瀏覽:784
汽車配置物品怎麼處理 發布:2025-05-20 07:47:23 瀏覽:225
怎麼修改華為wifi密碼 發布:2025-05-20 07:45:12 瀏覽:41
php函數遞歸 發布:2025-05-20 07:39:36 瀏覽:781