我现在写了两个sql, 按角色来区分,我想根据传入的角色值,一个是admin查询所有的数据,一个是用户查询自己的数据,比如传入一个roleId,怎么来判断,然后执行不同的sql?
SELECT * FROM 表 WHERE ${IF(roleId=="admin"," 1=1"," 自己的数据")}
你可以加个条件 or admin=admin 跟权限条件并列,会直接让admin查所有数据
${if(参数='admin',"sql1","sql2 ")}
-----
注意sql中的参数写法会有不同;
这个是finereport中可以用的,不是mysql
若是参数在sql中使用可以这样
where username='"+参数名+"'
参数可以用在sql中,和平常的sql一样,只是写法不同
-----------
${if(参数='admin',"sql1","select * from table
where xxx='"+id+"'")}
declare @tp int
set @tp = ${if(参数=="admin",1,0)}
if @tp = 1
sql语句1
else
sql语句2