DECLARE
RESULT VARCHAR2(255);
CURSOR cur_eq IS
SELECT column_name
FROM user_tab_columns
WHERE table_name = 'EQUIPMENT';
v_col user_tab_columns.column_name%TYPE;
BEGIN
OPEN cur_eq;
LOOP
FETCH cur_eq
INTO v_col;
RESULT := RESULT || v_col || ','; -- 这句编译出错
EXIT WHEN cur_eq%NOTFOUND;
END LOOP;
CLOSE cur_eq;
dbms_output.put_line(RESULT);
END;
RESULT VARCHAR2(255);
CURSOR cur_eq IS
SELECT column_name
FROM user_tab_columns
WHERE table_name = 'EQUIPMENT';
v_col user_tab_columns.column_name%TYPE;
BEGIN
OPEN cur_eq;
LOOP
FETCH cur_eq
INTO v_col;
RESULT := RESULT || v_col || ','; -- 这句编译出错
EXIT WHEN cur_eq%NOTFOUND;
END LOOP;
CLOSE cur_eq;
dbms_output.put_line(RESULT);
END;
2 RESULT VARCHAR2(255);
3 CURSOR cur_eq IS
4 SELECT column_name
5 FROM user_tab_columns
6 WHERE table_name = 'T_SITE';
7 v_col user_tab_columns.column_name%TYPE;
8 BEGIN
9 OPEN cur_eq;
10 LOOP
11 FETCH cur_eq
12 INTO v_col;
13 RESULT := RESULT || v_col || ','; -- 这句编译出错
14 EXIT WHEN cur_eq%NOTFOUND;
15 END LOOP;
16 CLOSE cur_eq;
17 dbms_output.put_line(RESULT);
18 END;
19 /UUID,SITETYPEID,NAME,CODE,TYPE,ADDRESS,PROPERTYRIGHTTYPE,XPOSITION,YPOSITION,SUBREGIONID,DMDZID,DMDZID,PL/SQL procedure successfully completed不是编译的错,估计是RESULT VARCHAR2(255);太小,超出长度了