想根据每个人的权限决定查出来的那一条是否那个人可以看到..那一列是否可见.
SQL语句做不到那么细.
就想用存储过程.查出来的时候经过一个函数判断.决定是否应该显示出来想让效率是相当于在sql的where中写的条件.能执行sql之外的东西.像是在
while(rs.next()){
if(call(proc|function)){
...
}
}
应该怎么做,或是有什么思路.对MYSQL不太熟.有高手帮帮忙没

解决方案 »

  1.   

    累加字符串生成SQL语句,再动态执行
    if 权限列1=1 then
    set @asql=concat('select 权限列1....');
    end if;
    prepare asql from @sql;
    execute asql;
      

  2.   

    没有权限列.
    根据规则来的.
    (A公司可见.1)
    (B部门可见.2)
    (C组不可见.3)
    (D个人可见.4)
    那最终就可见...
      

  3.   

    问题总结:用存储过程来代替WHERE后的条件
    ???有没有这样的东西.
      

  4.   

    没有,如果要使某列可见,在SQL语句加入此列,否则去掉此列
      

  5.   

    如果存储过程也可以实现,一些软件比如SAP就是利用类似你这种设计来实现的,不过它是在程序中实现而不是在存储过程中。
      

  6.   

    存储过程也可以实现,不过从传统设计来说,对MYSQL数据库你所对应的多个用户还是用同一个数据库用户账号登录的。这部分应该在逻辑层由软件来实现。这样从层次上也分工比较清晰。