SELECT s.* FROM (SELECT setUserId('abcd123') p) tmp_p, main_article_view s
问题是 MySQL 中的函数setUserId(userId char(36))
设置了一个会话变量,该变量在main_article_view;
我第一次运行此查询时使用,它不起作用,因为该函数最终被执行。
但是当我第二次运行它时,它确实运行良好;因为之前是在会话中首次运行时设置的。
对我的限制是我不能使用简单的:=
运算符来设置userIdParam
NHibernate 中的(会话变量);因为 NHibernate:
用于命名参数。
下面的查询有效,但它不像我对 NHibernate 所说的那样有效。
SELECT s.* FROM (SELECT @userIdParam:='abc123' p) tmp_param, main_article_view s
我现在正在做的解决方法是首先调用该函数setUserId()
,然后单独调用实际查询,例如select * from main_article_view
,这可行,但随后会有两个调用,我不喜欢。
其实我只是想使用带参数的视图;所以任何建议都会受到欢迎?
感谢和问候