在我的项目中,我正在尝试执行以下查询:
DECLARE
Sid nvarchar2(30) := ''; /*Here the values will come from some other variable>*/
Bid nvarchar2(30) := ''; /*Here the values will come from some other variable>*/
ExecuteDSQL varchar2(1000);
ExecuteDSQLResult varchar2(10000);
BEGIN
IF Sid IS NULL THEN Sid := '1' ; ELSE Sid := '4' ; END IF;
IF Bid IS NULL THEN Bid := '1' ; ELSE Bid := '5' ; END IF;
ExecuteDSQL := ' SELECT * FROM iftlog WHERE serverid='''|| Sid
|| ''' AND bpid=''' || Bid || ''' ';
EXECUTE IMMEDIATE ExecuteDSQL INTO ExecuteDSQLResult;
DBMS_OUTPUT.PUT_LINE(ExecuteDSQLResult);
END;
/
查询导致数据类型不一致的错误,除了这个错误之外,问题是我们可以像在 MS-SQL 中一样将结果存储到临时表中吗?我是 Oracle 数据库的新手。我需要临时表来存储 1 到 20 之间的记录,我将使用 Row_Number() 并在我的项目中相应地修改查询。