这个存储过程在MySQL里应该怎么写

MySql 码拜 8年前 (2016-02-09) 769次浏览
Create PROCEDURE [dbo].[A_Count]
	-- Add the parameters for the stored procedure here
	@TableID NVARCHAR(128),			--表名称
	@Column NVARCHAR(4000),			--显示字段名称
	@Where NVARCHAR(1024)			--查询条件
AS
BEGIN
	DECLARE @Str NVARCHAR(4000)
	SET @Str="SELECT ISNULL(COUNT(*),0) FROM(";
	SET @Str = @Str + " SELECT " + @Column + " FROM " + @TableID;
	SET @Str = @Str + ") A";
	IF(@Where <> "")  --假如查询条件不为空时
	BEGIN
		SET @Str = @Str + " WHERE " + @Where;
	END
	EXEC(@Str)
END
解决方案

30

要改成相似这样的:

CREATE DEFINER=`root`@`%` PROCEDURE `getdate`(v_limit int)
BEGIN
set @a = "select * from tb2 where id =?";
set @b =v_limit;
prepare s from @a;
execute s using @b;
deallocate prepare s;
END$$

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明这个存储过程在MySQL里应该怎么写
喜欢 (0)
[1034331897@qq.com]
分享 (0)