ORACLE SQL IN关键字的用法

时间:2023-01-31 17:42:15

in后括号中的参数个数有限制,Oracle 9i 中个数不能超过256,Oracle 10g个数不能超过1000.

重点:参数个数,不是总长度。

如下SQL子查询返回结果大于1000个,也没关系,因为放在in的括号里面的参数是个子查询相当于一个参数。

eg:

    SELECT SRF.ROLE_ID FROM CL11.SYS_ROLE_DD SRF
  WHERE SRF.ROLE_ID
IN(SELECT SYS_ROLE_DD.ROLE_ID
  FROM CL11.SYS_ROLE_DD ,CL11.SYS_FUNCTION
  where SYS_ROLE_DD .FUNC_ID = SYS_FUNCTION.FUNC_ID)


如果in后面的括号里面放入的是 逗号分隔的大于1000个参数则报错。