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

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

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

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

下面的查询有效,但它不像我对 NHibernate 所说的那样有效。

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

我现在正在做的解决方法是首先调用该函数setUserId(),然后单独调用实际查询,例如select * from main_article_view,这可行,但随后会有两个调用,我不喜欢。

其实我只是想使用带参数的视图;所以任何建议都会受到欢迎?

感谢和问候

4

0 回答 0