Home » SQL & PL/SQL » SQL & PL/SQL » VARRAY error in PLSQL BLOCK (11g)
VARRAY error in PLSQL BLOCK [message #597632] Mon, 07 October 2013 04:27 Go to next message
mapps0999@gmail.com
Messages: 19
Registered: October 2013
Location: Bangalore
Junior Member
Hi ALL,

I trying to write plsql anonymous block to return the name of all the employees who belongs to a specific department .
I am writing below script for this and getting the error where as the same logic if i use only in a function instead of creating it
within a procedure , i am not getting any error .. Please help me to fix this issue .

Script :

DECLARE
TYPE EMPARRAY is VARRAY(20) OF VARCHAR2(30);
FUNCTION getEmpArray (p_no IN NUMBER)
RETURN EMPARRAY
AS
l_data EmpArray := EmpArray();
CURSOR c_emp
IS
SELECT ename FROM scott.EMP
where deptno=p_no;
BEGIN
FOR emp_rec IN c_emp LOOP
l_data.extend;
l_data(l_data.count) := emp_rec.ename;
END LOOP;
--RETURN (l_data);
--dbms_output.put_line('v_tt');
END;

Error report:
ORA-06550: line 18, column 4:
PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following:

begin function package pragma procedure form
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:


[EDITED by LF: fixed topic title typo; was "VARRY"]

[Updated on: Tue, 08 October 2013 09:52] by Moderator

Report message to a moderator

Re: VARRY error in PLSQL BLOCK [message #597634 is a reply to message #597632] Mon, 07 October 2013 04:32 Go to previous messageGo to next message
cookiemonster
Messages: 13920
Registered: September 2008
Location: Rainy Manchester
Senior Member
You've changed a function to an anonymous block, but you haven't removed the return type or the AS.
Re: VARRY error in PLSQL BLOCK [message #597637 is a reply to message #597634] Mon, 07 October 2013 04:57 Go to previous messageGo to next message
mapps0999@gmail.com
Messages: 19
Registered: October 2013
Location: Bangalore
Junior Member
Hi ,

I have my code like this , and i need the return type of my function .

Script :

DECLARE
TYPE EMPARRAY is VARRAY(20) OF VARCHAR2(30);
FUNCTION getEmpArray (p_no IN NUMBER)
RETURN EMPARRAY
AS
l_data EmpArray := EmpArray();
CURSOR c_emp IS SELECT ename FROM scott.EMP
where deptno=p_no;
BEGIN
FOR emp_rec IN c_emp LOOP
l_data.extend;
l_data(l_data.count) := emp_rec.ename;
END LOOP;
RETURN (l_data);
END;

ORA-06550: line 15, column 4:
PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following:

begin function package pragma procedure form
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
icon14.gif  Re: VARRY error in PLSQL BLOCK [message #597638 is a reply to message #597632] Mon, 07 October 2013 04:59 Go to previous messageGo to next message
Michel Cadot
Messages: 68641
Registered: March 2007
Location: Nanterre, France, http://...
Senior Member
Account Moderator

SQL> DECLARE
  2   TYPE EMPARRAY is VARRAY(20) OF VARCHAR2(30);
  3  FUNCTION getEmpArray (p_no IN NUMBER)
  4  RETURN EMPARRAY
  5  AS
  6  l_data EmpArray := EmpArray();
  7  CURSOR c_emp
  8  IS
  9  SELECT ename FROM scott.EMP
 10  where deptno=p_no;
 11  BEGIN
 12  FOR emp_rec IN c_emp LOOP
 13  l_data.extend;
 14  l_data(l_data.count) := emp_rec.ename;
 15  END LOOP;
 16  --RETURN (l_data);
 17  --dbms_output.put_line('v_tt');
 18  END;
 19  begin null; end;
 20  /

PL/SQL procedure successfully completed.

Re: VARRY error in PLSQL BLOCK [message #597640 is a reply to message #597638] Mon, 07 October 2013 05:15 Go to previous messageGo to next message
mapps0999@gmail.com
Messages: 19
Registered: October 2013
Location: Bangalore
Junior Member
now the procedure compiling successfully but i have to return the function value to a local variable when i do that i am getting the plsql erroer.
Please suggest :

Script :

SET SERVEROUTPUT ON
DECLARE
v_te varchar2(20);
TYPE EMPARRAY is VARRAY(20) OF VARCHAR2(30);
FUNCTION getEmpArray (p_no IN NUMBER)
RETURN EMPARRAY
AS
l_data EmpArray := EmpArray();
CURSOR c_emp
IS
SELECT ename FROM scott.EMP
where deptno=p_no;
BEGIN
FOR emp_rec IN c_emp LOOP
l_data.extend;
l_data(l_data.count) := emp_rec.ename;
END LOOP;
END;
begin
SELECT getEmpArray (10)
INTO v_te
FROM dual;
dbms_output.put_line(v_te);
end;
Re: VARRY error in PLSQL BLOCK [message #597642 is a reply to message #597640] Mon, 07 October 2013 05:21 Go to previous messageGo to next message
dariyoosh
Messages: 538
Registered: March 2009
Location: France
Senior Member
I don't see any RETURN statement in your function.

In addition, looking at your code
. . .

SELECT getEmpArray (10)
    INTO v_te
    FROM dual;
. . .

getEmpArray, according to your code, is supposed to return a varray, yet you assign the result to VARCHAR2(30), that is assigning a composite type to a scalar type.

[Updated on: Mon, 07 October 2013 05:29]

Report message to a moderator

Re: VARRY error in PLSQL BLOCK [message #597643 is a reply to message #597642] Mon, 07 October 2013 05:30 Go to previous messageGo to next message
mapps0999@gmail.com
Messages: 19
Registered: October 2013
Location: Bangalore
Junior Member
Here is the code with the RETURN statement but with this i am getting error :

Script :


SET SERVEROUTPUT ON
DECLARE
v_te varchar2(20);
TYPE EMPARRAY is VARRAY(20) OF VARCHAR2(30);
FUNCTION getEmpArray (p_no IN NUMBER)
RETURN EMPARRAY
AS
l_data EmpArray := EmpArray();
CURSOR c_emp
IS
SELECT ename FROM scott.EMP
where deptno=p_no;
BEGIN
FOR emp_rec IN c_emp LOOP
l_data.extend;
l_data(l_data.count) := emp_rec.ename;
END LOOP;
RETURN (l_data);
END;
begin
SELECT getEmpArray (10)
INTO v_te
FROM dual;
dbms_output.put_line(v_te);
end;
Re: VARRY error in PLSQL BLOCK [message #597644 is a reply to message #597643] Mon, 07 October 2013 05:32 Go to previous messageGo to next message
dariyoosh
Messages: 538
Registered: March 2009
Location: France
Senior Member
Read my previous comment about type mismatch. Also post here the error message you get.
Re: VARRY error in PLSQL BLOCK [message #597645 is a reply to message #597643] Mon, 07 October 2013 05:32 Go to previous messageGo to next message
cookiemonster
Messages: 13920
Registered: September 2008
Location: Rainy Manchester
Senior Member
As dariyoosh already pointed out you're trying to return a varray into a varchar variable. That can't possibly work. You need to make the types match.
Re: VARRY error in PLSQL BLOCK [message #597649 is a reply to message #597643] Mon, 07 October 2013 06:18 Go to previous messageGo to next message
mapps0999@gmail.com
Messages: 19
Registered: October 2013
Location: Bangalore
Junior Member
Hi , I changed the return to a varray variable still i am getting the error . please suggest .


SET SERVEROUTPUT ON
DECLARE
TYPE v_te is VARRAY(20) OF VARCHAR2(30);
TYPE EMPARRAY is VARRAY(20) OF VARCHAR2(30);
FUNCTION getEmpArray (p_no IN NUMBER)
RETURN EMPARRAY
AS
l_data EmpArray := EmpArray();
CURSOR c_emp
IS
SELECT ename FROM scott.EMP
where deptno=p_no;
BEGIN
FOR emp_rec IN c_emp LOOP
l_data.extend;
l_data(l_data.count) := emp_rec.ename;
END LOOP;
RETURN (l_data);
END;
begin
SELECT getEmpArray (10)
into v_te
FROM dual;
dbms_output.put_line(v_te);
end;
icon13.gif  Re: VARRY error in PLSQL BLOCK [message #597653 is a reply to message #597649] Mon, 07 October 2013 06:46 Go to previous messageGo to next message
Michel Cadot
Messages: 68641
Registered: March 2007
Location: Nanterre, France, http://...
Senior Member
Account Moderator

SQL> DECLARE
  2  TYPE v_te is VARRAY(20) OF VARCHAR2(30);
  3  TYPE EMPARRAY is VARRAY(20) OF VARCHAR2(30);
  4  FUNCTION getEmpArray (p_no IN NUMBER)
  5  RETURN EMPARRAY
  6  AS
  7  l_data EmpArray := EmpArray();
  8  CURSOR c_emp
  9  IS
 10  SELECT ename FROM scott.EMP
 11  where deptno=p_no;
 12  BEGIN
 13  FOR emp_rec IN c_emp LOOP
 14  l_data.extend;
 15  l_data(l_data.count) := emp_rec.ename;
 16  END LOOP;
 17  RETURN (l_data);
 18  END;
 19  begin
 20  SELECT getEmpArray (10)
 21  into v_te
 22  FROM dual;
 23  dbms_output.put_line(v_te);
 24  end;
 25  /
SELECT getEmpArray (10)
       *
ERROR at line 20:
ORA-06550: line 20, column 8:
PLS-00231: function 'GETEMPARRAY' may not be used in SQL
ORA-06550: line 20, column 8:
PL/SQL: ORA-00904: : invalid identifier
ORA-06550: line 20, column 1:
PL/SQL: SQL Statement ignored
ORA-06550: line 23, column 22:
PLS-00330: invalid use of type name or subtype name
ORA-06550: line 23, column 1:
PL/SQL: Statement ignored


2 good books:
PL/SQL User's Guide and Reference
Application Developer's Guide - Fundamentals

Re: VARRY error in PLSQL BLOCK [message #597658 is a reply to message #597649] Mon, 07 October 2013 07:03 Go to previous messageGo to next message
Lalit Kumar B
Messages: 3174
Registered: May 2013
Location: World Wide on the Web
Senior Member
mapps0999@gmail.com wrote on Mon, 07 October 2013 16:48
Hi , I changed the return to a varray variable still i am getting the error .


No, you are still doing it wrong. You cannot assign value to the object type itself. You need a declare a collection variable of that type.

SQL> DROP TABLE emp;
 
Table dropped
SQL> CREATE TABLE emp(ename VARCHAR2(10), deptno NUMBER);
 
Table created
SQL> INSERT INTO emp VALUEs('lalit',10);
 
1 row inserted
SQL> COMMIT;
 
Commit complete
SQL> SET SERVEROUTPUT ON ;
SQL> DECLARE
  2     TYPE EMPARRAY IS TABLE OF EMP.ENAME%TYPE;
  3     L_DATA EMPARRAY:=EMPARRAY();
  4     V_TE   EMPARRAY:= EMPARRAY();
  5     FUNCTION GETEMPARRAY(P_NO IN NUMBER) RETURN EMPARRAY AS
  6  
  7     BEGIN
  8  
  9        FOR EMP_REC IN (SELECT ENAME FROM EMP WHERE DEPTNO = P_NO) LOOP
 10           L_DATA.EXTEND;
 11           L_DATA(L_DATA.COUNT) := EMP_REC.ENAME;
 12        END LOOP;
 13        RETURN(L_DATA);
 14     END;
 15  BEGIN
 16     V_TE := GETEMPARRAY(10);
 17     DBMS_OUTPUT.PUT_LINE(V_TE(1));
 18  END; 
 19  /
 
lalit
 
PL/SQL procedure successfully completed


Since EMP table is already present which would suffice for declaring a type so I did not take a VARRAY explicitly.

Regards,
Lalit
Re: VARRY error in PLSQL BLOCK [message #597668 is a reply to message #597649] Mon, 07 October 2013 07:36 Go to previous messageGo to next message
dariyoosh
Messages: 538
Registered: March 2009
Location: France
Senior Member
mapps0999@gmail.com wrote on Mon, 07 October 2013 13:18
Hi , I changed the return to a varray variable still i am getting the error . please suggest


In addition to other comments, just for your future posts:

http://www.dpriver.com/pp/sqlformat.htm

Makes your code readable and well formatted (of course by using code tags).

And another good book (beginner friendly Smile ): Oracle PL/SQL Programming: Covers Versions Through Oracle Database 11g Release 2 By Steven Feuerstein, Bill Pribyl

[Updated on: Mon, 07 October 2013 07:41]

Report message to a moderator

Re: VARRY error in PLSQL BLOCK [message #597670 is a reply to message #597658] Mon, 07 October 2013 08:10 Go to previous messageGo to next message
mapps0999@gmail.com
Messages: 19
Registered: October 2013
Location: Bangalore
Junior Member
Thank you lalit for your solution . Here is there any solution to display all the ename of the respective department dynamically .
n number of employee may be there in a specific department. I want all those values into the variable dynamically .

Thanks,
Re: VARRY error in PLSQL BLOCK [message #597671 is a reply to message #597670] Mon, 07 October 2013 08:18 Go to previous messageGo to next message
Lalit Kumar B
Messages: 3174
Registered: May 2013
Location: World Wide on the Web
Senior Member
mapps0999@gmail.com wrote on Mon, 07 October 2013 18:40
Thank you lalit for your solution . Here is there any solution to display all the ename of the respective department dynamically .
n number of employee may be there in a specific department. I want all those values into the variable dynamically .


Just think once about it, you have already used it in your code....A FOR LOOP, isn't it?

SQL> DROP TABLE emp;
 
Table dropped
SQL> CREATE TABLE emp(ename VARCHAR2(10), deptno NUMBER);
 
Table created
SQL> INSERT INTO emp VALUEs('lalit',10);
 
1 row inserted
SQL> INSERT INTO emp VALUEs('OraFAQ',10);
 
1 row inserted
SQL> INSERT INTO emp VALUEs('mapps0999',10);
 
1 row inserted
SQL> COMMIT;
 
Commit complete
SQL> SET SERVEROUTPUT ON ;
SQL> DECLARE
  2     TYPE EMPARRAY IS TABLE OF EMP.ENAME%TYPE;
  3     L_DATA EMPARRAY := EMPARRAY();
  4     V_TE   EMPARRAY := EMPARRAY();
  5     FUNCTION GETEMPARRAY(P_NO IN NUMBER) RETURN EMPARRAY AS
  6  
  7     BEGIN
  8  
  9        FOR EMP_REC IN (SELECT ENAME FROM EMP WHERE DEPTNO = P_NO) LOOP
 10           L_DATA.EXTEND;
 11           L_DATA(L_DATA.COUNT) := EMP_REC.ENAME;
 12        END LOOP;
 13        RETURN(L_DATA);
 14     END;
 15  BEGIN
 16     V_TE := GETEMPARRAY(10);
 17     FOR I IN 1 .. V_TE.COUNT LOOP
 18        DBMS_OUTPUT.PUT_LINE(V_TE(I));
 19     END LOOP;
 20  END; 
 21  /
 
lalit
OraFAQ
mapps0999
 
PL/SQL procedure successfully completed


Regards,
Lalit
Re: VARRY error in PLSQL BLOCK [message #597688 is a reply to message #597671] Mon, 07 October 2013 10:36 Go to previous messageGo to next message
mapps0999@gmail.com
Messages: 19
Registered: October 2013
Location: Bangalore
Junior Member
Thank you very much Lalit ...It is working for me . Sorry for any confusing message if it is there . Thank you very much .
Re: VARRY error in PLSQL BLOCK [message #597691 is a reply to message #597688] Mon, 07 October 2013 11:17 Go to previous messageGo to next message
mapps0999@gmail.com
Messages: 19
Registered: October 2013
Location: Bangalore
Junior Member
Hi Lalit ,
the below mentioned script returns me on loop the series of data but i want them in in a single row for each parameter entered, in a row terminated by '-' instead of one column .

SET SERVEROUTPUT ON ;
DECLARE
TYPE EMPARRAY IS TABLE OF EMPt.ENAME%TYPE;
L_DATA EMPARRAY := EMPARRAY();
V_TE EMPARRAY := EMPARRAY();
FUNCTION GETEMPARRAY(P_NO IN NUMBER) RETURN EMPARRAY AS
BEGIN

FOR EMP_REC IN (SELECT ENAME FROM EMPt WHERE DEPTNO = P_NO) LOOP
L_DATA.EXTEND;
L_DATA(L_DATA.COUNT) := EMP_REC.ENAME;
END LOOP;
RETURN(L_DATA);
END;
BEGIN
V_TE := GETEMPARRAY(10);
FOR I IN 1 .. V_TE.COUNT LOOP
DBMS_OUTPUT.PUT_LINE(V_TE(I));
END LOOP;
END;

The output is :

sachi
OraFAQ
mapps0999

Desired output is

lalit-OraFAQ-mapps0999

Please suggest ....
icon8.gif  Re: VARRY error in PLSQL BLOCK [message #597693 is a reply to message #597691] Mon, 07 October 2013 11:35 Go to previous messageGo to next message
Michel Cadot
Messages: 68641
Registered: March 2007
Location: Nanterre, France, http://...
Senior Member
Account Moderator

Quote:
Please suggest ....


Quote:
2 good books:
PL/SQL User's Guide and Reference
Application Developer's Guide - Fundamentals


Quote:
In addition to other comments, just for your future posts:

http://www.dpriver.com/pp/sqlformat.htm


icon1.gif  Re: VARRY error in PLSQL BLOCK [message #597694 is a reply to message #597691] Mon, 07 October 2013 11:37 Go to previous messageGo to next message
Michel Cadot
Messages: 68641
Registered: March 2007
Location: Nanterre, France, http://...
Senior Member
Account Moderator

Quote:
The output is :

sachi
OraFAQ
mapps0999

Desired output is

lalit-OraFAQ-mapps0999

Please suggest ....


what about read the documentation about dbms_output?
Even a child can do this.


Re: VARRY error in PLSQL BLOCK [message #597714 is a reply to message #597691] Mon, 07 October 2013 14:58 Go to previous messageGo to next message
Lalit Kumar B
Messages: 3174
Registered: May 2013
Location: World Wide on the Web
Senior Member
mapps0999@gmail.com wrote on Mon, 07 October 2013 21:47
Hi Lalit ,
the below mentioned script returns me on loop the series of data but i want them in in a single row for each parameter entered, in a row terminated by '-' instead of one column

Desired output is

lalit-OraFAQ-mapps0999

Please suggest ....


Now I should not give you any direct answers. You have not followed any of the forum guidelines which everybody has suggested. And this last question about "PIVOT", it is very easy to search on google and find.

I insist, you search for LISTAGG function, and come back with your test case. And at least for one last time, use code tags with proper formatting of code.

Regards,
Lalit
Re: VARRY error in PLSQL BLOCK [message #597726 is a reply to message #597714] Mon, 07 October 2013 22:43 Go to previous messageGo to next message
mapps0999@gmail.com
Messages: 19
Registered: October 2013
Location: Bangalore
Junior Member
Hi ..., I trying to Use LISTLAG as follows :


SELECT
listagg(sal,'-') within group (order by empno)
FROM
scott.emp
WHERE deptno=10;

It throws me an error ... please suggest if anything is wrong here.....
Re: VARRY error in PLSQL BLOCK [message #597728 is a reply to message #597726] Mon, 07 October 2013 22:49 Go to previous messageGo to next message
mapps0999@gmail.com
Messages: 19
Registered: October 2013
Location: Bangalore
Junior Member
Hi.... I am using 10.2.0.4.0 version ... i think this version doesn't support listagg function ... please suggest anyother approach .
Re: VARRY error in PLSQL BLOCK [message #597729 is a reply to message #597728] Mon, 07 October 2013 22:52 Go to previous messageGo to next message
BlackSwan
Messages: 26766
Registered: January 2009
Location: SoCal
Senior Member
>I am using 10.2.0.4.0 version
thread title is below
>VARRY error in PLSQL BLOCK (11g)
What happened to 11g?????????????????


Re: VARRY error in PLSQL BLOCK [message #597730 is a reply to message #597726] Mon, 07 October 2013 22:56 Go to previous messageGo to next message
Lalit Kumar B
Messages: 3174
Registered: May 2013
Location: World Wide on the Web
Senior Member
mapps0999@gmail.com wrote on Tue, 08 October 2013 09:13


It throws me an error ... please suggest if anything is wrong here.....


What error? Copy paste the SQL*Plus session.

Another thing, when all this could be done in a single SQL statement, then what was that anonymous block with a function etc. all about? What exactly is your requirement?
Re: VARRY error in PLSQL BLOCK [message #597731 is a reply to message #597728] Mon, 07 October 2013 22:59 Go to previous messageGo to next message
Lalit Kumar B
Messages: 3174
Registered: May 2013
Location: World Wide on the Web
Senior Member
mapps0999@gmail.com wrote on Tue, 08 October 2013 09:19
Hi.... I am using 10.2.0.4.0 version ... i think this version doesn't support listagg function ... please suggest anyother approach .


You mentioned 11g in the title, so I suggested LISTAGG. Anyway, you can search a bit to find alternative to LISTAGG. It is a FAQ, search this forum.
icon13.gif  Re: VARRY error in PLSQL BLOCK [message #597733 is a reply to message #597726] Mon, 07 October 2013 23:57 Go to previous messageGo to next message
Michel Cadot
Messages: 68641
Registered: March 2007
Location: Nanterre, France, http://...
Senior Member
Account Moderator

Quote:
It throws me an error ...


SQL> SELECT
  2  listagg(sal,'-') within group (order by empno)
  3  FROM
  4  scott.emp
  5  WHERE deptno=10;
LISTAGG(SAL,'-')WITHINGROUP(ORDERBYEMPNO)
------------------------------------------------------
2450-5000-1300


Not me, are you sure you are in 11g?

icon13.gif  Re: VARRY error in PLSQL BLOCK [message #597734 is a reply to message #597726] Mon, 07 October 2013 23:58 Go to previous messageGo to next message
Michel Cadot
Messages: 68641
Registered: March 2007
Location: Nanterre, France, http://...
Senior Member
Account Moderator
Quote:
I trying to Use LISTLAG as follows :


You don't need LISTAGG to get the output you want from your function.
Just read the documentation about DBMS_OUTPUT, all you need is there.

[Updated on: Tue, 08 October 2013 00:18]

Report message to a moderator

Re: VARRY error in PLSQL BLOCK [message #597868 is a reply to message #597728] Wed, 09 October 2013 00:23 Go to previous message
Lalit Kumar B
Messages: 3174
Registered: May 2013
Location: World Wide on the Web
Senior Member
mapps0999@gmail.com wrote on Tue, 08 October 2013 09:19
Hi.... I am using 10.2.0.4.0 version ... i think this version doesn't support listagg function ... please suggest anyother approach .


If you can do it in plain SQL then why do you need PL/SQL?

Since you say you are not in 11g, there is one way using ROW_NUMBER() and SYS_CONNECT_BY_PATH which works in 9i.

SQL> DROP TABLE EMP;
 
Table dropped
SQL> CREATE TABLE emp(ename VARCHAR2(10), deptno NUMBER);
 
Table created
SQL> INSERT INTO emp VALUEs('lalit',10);
 
1 row inserted
SQL> INSERT INTO emp VALUEs('OraFAQ',10);
 
1 row inserted
SQL> INSERT INTO emp VALUEs('mapps0999',10);
 
1 row inserted
SQL> COMMIT;
 
Commit complete
SQL> SELECT DEPTNO,
  2         LTRIM(MAX(SYS_CONNECT_BY_PATH(ENAME, ' - '))
  3               KEEP(DENSE_RANK LAST ORDER BY CURR),
  4               ' - ') AS EMPLOYEES
  5    FROM (SELECT DEPTNO,
  6                 ENAME,
  7                 ROW_NUMBER() OVER(PARTITION BY DEPTNO ORDER BY ENAME) AS CURR,
  8                 ROW_NUMBER() OVER(PARTITION BY DEPTNO ORDER BY ENAME) - 1 AS PREV
  9            FROM EMP)
 10   GROUP BY DEPTNO
 11  CONNECT BY PREV = PRIOR CURR
 12         AND DEPTNO = PRIOR DEPTNO
 13   START WITH CURR = 1;
 
    DEPTNO EMPLOYEES
---------- --------------------------------------------------------------------------------
        10 OraFAQ - lalit - mapps0999


Regards,
Lalit
Previous Topic: Dynamic SQL
Next Topic: how can I do it without error,keep the rowid
Goto Forum:
  


Current Time: Fri Apr 19 06:05:43 CDT 2024