MySQL应用
来源:互联网 发布:app软件大全 编辑:程序博客网 时间:2024/04/30 12:24
1. mysql存储过程示例
DROP PROCEDURE IF EXISTS P_QueryRecord;
CREATE PROCEDURE P_QueryRecord(Para_Query VARCHAR(16),Para_Condition INTEGER)
BEGIN
DECLARE query VARCHAR(36);
SET query := '';
SET query := CONCAT(query,Para_Query,'%');
IF Para_Condition = 0 THEN
SELECT * FROM T_Record WHERE name LIKE query;
ELSEIF Para_Condition = 1 THEN
SELECT * FROM T_Record WHERE phone LIKE query;
ELSEIF Para_Condition = 2 THEN
SELECT * FROM T_Record WHERE room_no LIKE query;
ELSEIF Para_Condition = 3 THEN
SELECT * FROM T_Record WHERE address LIKE query;
ELSE
SELECT * FROM T_Record WHERE 1=2;
END IF;
END;
注意事项:赋值语句:=;传参数的方式;END IF结束后要加;号.
2. 删除索引存储过程
DROP PROCEDURE IF EXISTS P_DelIndex;
CREATE PROCEDURE P_DelIndex(IN para_table_name VARCHAR(200), IN para_index_name VARCHAR(200))
BEGIN
DECLARE str VARCHAR(250);
SET @str=CONCAT('DROP INDEX ',para_index_name,' ON ',para_table_name);
SELECT COUNT(*) INTO @cnt FROM information_schema.statistics WHERE TABLE_NAME=para_table_name AND INDEX_NAME=para_index_name;
IF @cnt >0 THEN
PREPARE stmt FROM @str;
EXECUTE stmt ;
END IF;
END;
3. MySQL Connectors C++使用注意事项
PreparedStatement对象通过传入参数读取数据有问题,第二次调用就报错,读取数据集时用Statement代替,外部传入参数用其提供的escapeString转换即可.
OpenMySql();
string format = "CALL P_QueryRecord('%s',%d)";
string param1 = m_pMySqlConnection->escapeString(query);
char sql[128] = {0};
sprintf_s(sql,sizeof(sql),format.c_str(),param1.c_str(),condition);
auto_ptr<Statement>pState(m_pMySqlConnection->createStatement());
auto_ptr<ResultSet>pSet;
pState->execute(sql);
do
{
string col_value = "";
pSet.reset(pState->getResultSet());
while(pSet->next())
{
string sValue = pSet->getString("name");
}
}while(pState->getMoreResults());
- MySql应用,,
- Mysql应用
- MySql应用
- MySQL应用
- MySQL应用
- mysql 应用
- [MySQL应用]MySQL数据库备份
- 【MySQL】mysql 存储过程应用
- MySQL的基本应用
- 如何安全应用mysql
- MySql 命令应用
- Mysql日志的应用
- .net+mysql数据库应用
- Mysql 存储过程应用
- Mysql 存储过程应用
- Mysql 函数应用
- Mysql 触发器应用
- Mysql 游标应用
- Python实战之多线程编程threading.Thread
- codeforces 283C Coin Troubles (神级思维+判环+背包)
- HDU 3665 Seaside (Floyd 最短路)
- Python实战之多线程编程thread模块
- Python实战之子进程
- MySQL应用
- C++之面向程序设计浅析
- 我不是会学会玩
- HDU356 Eight II(康拓展开+预处理)
- PowerShell常用的轉義符、比較符、邏輯操作符
- Python多线程编程
- C++之多态
- mysql存储过程详解
- Linux下SSH远程连接断开后让程序继续运行解决办法