此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【afei0912】截止到2008-07-30 10:43:17的历史汇总数据(不包括此帖):
发帖的总数量:0                        发帖的总分数:0                        每贴平均分数:0                        
回帖的总数量:0                        得分贴总数量:0                        回帖的得分率:0%                       
结贴的总数量:0                        结贴的总分数:0                        
无满意结贴数:0                        无满意结贴分:0                        
未结的帖子数:0                        未结的总分数:0                        
结贴的百分比:---------------------结分的百分比:---------------------
无满意结贴率:---------------------无满意结分率:---------------------
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html

取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=afei0912

解决方案 »

  1.   

    什么意思?你知道怎么解决吗?搞了好久了,就是搞不定,在ms sql下运行得好好的
      

  2.   

    mssql与MYSQL的SQL语句有很多地方是不同的```````
     
    查看下MYSQL和MSSQL语句的区别吧````
      

  3.   

    同意楼上的,我也在从oracle中到mysql,很麻烦的,出现很多问题
      

  4.   

    兄弟,不要搞这么复杂好不好,先写个简单的SQL语句测试一下,搞清楚到底是SQL语句问题还是别的配置出了问题。
      

  5.   

    他们的区别我知道一些,我将上述语句修改为:
    String sSql ="create table userPermission select distinct permissionID from rolepermission where" +"roleID in (select roleID from personRole  where userName=:uId )"

    +"create temporary table permID select * from (select distinct substring(permissionID,1,2) as"+"ID,'0' as pID from userPermission union select distinct substring(permissionID,1,4) as" +"ID,substring(permissionID,1,2) as pID from userPermission union select distinct" +"substring(permissionID,1,6) as ID,substring(permissionID,1,4) as pID from userPermission union" +"select distinct substring(permissionID,1,8) as ID,substring(permissionID,1,6) as pID from"+"userPermission union select distinct substring(permissionID,1,10) as ID,"+"substring(permissionID,1,8) as pID from userPermission )as tab where length(ID)>length(pID)"+"insert permID values('0','-1') select permission.* from permID i,permission permission where" +"i.ID=permission.ID"+"drop table userpermission,permID"List result = session.createSQLQuery(sSql).addEntity("permission", Permission.class).setString ("uId", userName).list(); 
      

  6.   

    应该是sql语句的问题,因为我将最开始的sql语句放到ms sql的控制台下,可以运行得很好,但我将修改后的sql代码放到mysql的控制台下,就不能运行,必须把他分成3步才能运行:
    第一步:
    "create table userPermission select distinct permissionID from rolepermission where" +"roleID in (select roleID from personRole  where userName=:uId )"
    第二步:
    "create temporary table permID select * from (select distinct substring(permissionID,1,2) as" +"ID,'0' as pID from userPermission union select distinct substring(permissionID,1,4) as" +"ID,substring(permissionID,1,2) as pID from userPermission union select distinct" +"substring(permissionID,1,6) as ID,substring(permissionID,1,4) as pID from userPermission union" +"select distinct substring(permissionID,1,8) as ID,substring(permissionID,1,6) as pID from" +"userPermission union select distinct substring(permissionID,1,10) as ID," +"substring(permissionID,1,8) as pID from userPermission )as tab where length(ID)>length(pID)" 
    第三步:
    "insert permID values('0','-1') select permission.* from permID i,permission permission where" +"i.ID=permission.ID"
    第四步:
    drop table userpermission,permID:uId用表里的一个字符串代替,也就是一个用户名
      

  7.   

    上面打错了,应该是分4步,难道mysql里不支持像ms sql那样的查询吗?整个字符串放到控制台里一下就运行出来了,而mysql里却只能分好几步才能得到结果