如何在Query中调用MySQL函数,以便查询可以使用函数中设置的会话变量?

时间:2013-10-09 16:02:14

标签: mysql view parameters

SELECT s.* FROM (SELECT setUserId('abcd123') p) tmp_p, main_article_view s 

问题是MySQL中的函数setUserId(userId char(36))设置了一个会话变量,在我第一次运行此查询时在main_article_view;中使用它,它不起作用,因为该函数在结束。

但是当我第二次运行它时,它确实运行良好;因为先前在会议中首次运行时设置了。

我的限制是我不能使用简单的:=运算符在NHibernate中设置userIdParam(会话变量);因为NHibernate使用:作为命名参数。

以下查询有效,但它不能像我在NHibernate中所说的那样工作。

SELECT s.* FROM (SELECT @userIdParam:='abc123' p) tmp_param, main_article_view s

我正在做的解决方法 - 现在首先调用函数setUserId(),然后单独调用实际查询,如select * from main_article_view,这有效,但接下来会有两个调用,我不会喜欢。

实际上我只想使用View with parameter;那么欢迎任何建议吗?

谢谢&此致

0 个答案:

没有答案