MYSQL は 5.0 からストアド プロシージャを追加しました。これは、多くの人が MYSQL ストアド プロシージャの作成方法を尋ねているためです。asp.net2.0 での異常なメソッドの呼び出しに基づいて作成します。
SQL に似ていますが、いくつかの違いがあります。以下は MYSQL のページング ストアド プロシージャです。DELIMITER$$;
は非常に便利です。
`mytest`.`MyPage`$$ が存在する場合はプロシージャを削除します
CREATE DEFINER=`root`@`localhost ` PROCEDURE `MyPage`(
tableName varchar(100),
fieldName VARCHAR(100),
pageIndex int,
pageSize int,
sortName VARCHAR(500),
strWhere varchar(500)
)
BEGIN
DECLARE fieldlist VARCHAR( 200);
if fieldName=''||fieldsName=null THEN
set fieldlist='*';
else
set fieldlist=fieldsName;
if
strWhere=
''||sortName= null の場合は
set @strSQL=concat('select ',fieldlist,' from ' , tableName,' limit ',(pageindex-1)*pageSize,',',pageSize);
それ以外の場合は
set @strSQL=concat('select ', fieldlist,' from ', tableName,' order by ',sortName,' limit ',(pageindex-1)*pageSize,',',pageSize)
else
if
sortName=''||sortName=null then
set
;@strSQL=concat('select ',fieldlist,' from ' , tableName,' where ',strWhere,' limit ',(pageindex-1)*pageSize,',',pageSize);
else
set @strSQL=concat(' select ',fieldlist,' from ' , tableName,' where ',strWhere,' order by ',sortName,' limit ',(pageindex-1)*pageSize,',',pageSize)
end
if
;
stmt1 FROM @strSQL;
DEALLOCATE
PREPARE
END$$
;
DELIMITER ;$$
Asp.net2.0 呼び出しメソッド。これは次回に説明します。
http://www.cnblogs.com/jacklong/archive/2006/09/21/511127.html