存储过程如下:
CREATE OR REPLACE PROCEDURE P_CUSTOMERATTRIBUTE IS
  --变量声明
  STRATTRIBUTE     NVARCHAR2(100);
  NUMSTARTPOSITION NUMBER;
  NUMENDPOSITION   NUMBER;
  NUMLOOP          NUMBER;
  EXITFLAG         BOOLEAN;
BEGIN
  FOR CUSTM IN (SELECT * FROM CRMS.T_CRM_CUSTOMER) LOOP
    IF LENGTH(CUSTM.CUSTOMERATTRIBUTEIDS) > 0 THEN
    
      --局部变量赋值
      EXITFLAG         := FALSE;
      NUMSTARTPOSITION := 1;
      NUMLOOP          := 1;问题如下:
调试的时候,看CUSTM.CUSTOMERATTRIBUTEIDS的值,显示为“NULL”,但数据库里绝对有值,为什么呢??第一次写存储过程,请见谅......

解决方案 »

  1.   

    FOR CUSTM IN (SELECT * FROM CRMS.T_CRM_CUSTOMER) LOOP改为:
    FOR CUSTM IN (SELECT CUSTM  FROM CRMS.T_CRM_CUSTOMER) LOOP
      

  2.   

    楼上:试了,不好用。custm不是字段,我换成字段精确查询也不好用
      

  3.   

    是数据类型的问题,nvarchar2在调试环境中不能正常显示,虽然结果正确但是显示不出来。这个贴子请版主帮我删了吗。
      

  4.   

    TO:icedut(冰) 好,这回我给你被了,谢了老兄