mysql视图加参数_我可以在MySQL中创建带有参数的视图吗?

博客讨论了如何在MySQL视图中实现参数化,以动态地分组拒绝请求。作者提出了一种通过创建函数和视图来解决的方法,但认为这并不理想。他们希望找到一个更好的方案来根据用户指定的时间范围合并拒绝请求。
摘要由CSDN通过智能技术生成

我有这样的看法:

CREATE VIEW MyView AS

SELECT Column FROM Table WHERE Value = 2;

我想让它更通用,这意味着将2变成一个变量。我试过这个:

CREATE VIEW MyView AS

SELECT Column FROM Table WHERE Value = @MyVariable;

但是mysql不允许这样。

我发现一个丑陋的解决方法:

CREATE FUNCTION GetMyVariable() RETURNS INTEGER DETERMINISTIC NO SQL

BEGIN RETURN @MyVariable; END|

And then view is:

CREATE VIEW MyView AS

SELECT Column FROM Table WHERE Value = GetMyVariable();

但它看起来真的很糟糕,使用也很appy – 我必须在每次使用视图之前设置@MyVariable。

有一个解决方案,我可以这样使用:

SELECT Column FROM MyView(2) WHERE (...)

具体情况如下:

我有一个表存储有关被拒绝请求的信息:

CREATE TABLE Denial

(

Id INTEGER UNSIGNED AUTO_INCREMENT,

PRIMARY KEY(Id),

DateTime DATETIME NOT NULL,

FeatureId MEDIUMINT UNSIGNED NOT NU

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值