mysql存储过程字符串比较
发布时间: 2022-06-04 01:16:53
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;
‘贰’ mysql数据存储过程
MySQL字符串连接使用CONCAT函数,示例如下:
‘叁’ 关于对MYSQL存储过程传递参数是纯数字还是字符串的判断
虽然我不太懂,但觉得这不是太难的问题。对字符串的处理,通常用正则表达式,正则可是神作,没有做不到的。你搜索下吧,很多语言都支持。
‘肆’ 存储过程中如何判断两个字符变量是否相等
直接判断啊,if a =b then CASE1 else CASE@
‘伍’ mysql 存储过程区分大小写
mysql语句不区分大小写。不需要使用大写。
‘陆’ mysql 存储过程
没试过往里面传数组,一般都是多传几个参数,把几个参数放入SqlParameter[]中,然后cmd.Parameters.AddRange(pars);
创建方法:
SqlParameter[]
paras
=
new
SqlParameter[]
{
new
SqlParameter("@PageIndex","ccc"),
new
SqlParameter("@PageSize","ccc"),
new
SqlParameter("@StrSql","ccc")
};
ccc就是你想传入的值,带@的就是你在存储过程中定义的参数。
算是一种另类的数组吧。要不你就把所有条件组合成一个字符串,中间用特殊符号隔开,到数据库用split方法再分回来,不过这个方法比较麻烦,不推荐
热点内容