第一个
EXEC SQL
CREATE VIEW TOTAL_PRODUCT(PRODUCT,TOTAL_WAFER)
AS
SELECT PRODUCT,COUNT(*)
FROM WAT_TEST_RESULT
WHERE TO_CHAR(MEAS_TIME, 'YYYY-MM-DD') = :gsStartDate
GROUP BY PRODUCT;
if (sqlca.sqlcode)
{
CheckSqlError("GetData() CREATE VIEW TOTAL_PRODUCT");
return FAIL;
}
EXEC SQL COMMIT WORK;
这段代码编译的时候报如下错误:
Parser error at line 426, column 50, file D:\Work\WATpassfail\passrate\passrate.pc:
Error at line 426, column 50 in file D:\Work\WATpassfail\passrate\passrate.pc
WHERE TO_CHAR(MEAS_TIME, 'YYYY-MM-DD') = :gsStartDate
.................................................1
PCC-S-02206, Host variables are not permitted within a DDL statement
第二个:
EXEC SQL DECLARE PRODCUT_CURSOR CURSOR FOR
SELECT A.PRODUCT,
A.TOTAL_WAFER,
nvl(B.PASS_WAFER,'0')
FROM TOTAL_PRODUCT A
LEFT JOIN TOTAL_PASS_PRODUCT B
ON A.PRODUCT = B.PRODUCT;
EXEC SQL OPEN PRODCUT_CURSOR;
if (sqlca.sqlcode)
{
CheckSqlError("GetData() OPEN PRODCUT_CURSOR");
return FAIL;
}
错误信息:
Syntax error at line 458, column 8, file D:\Work\WATpassfail\passrate\passrate.pc:
Error at line 458, column 8 in file D:\Work\WATpassfail\passrate\passrate.pc
LEFT JOIN TOTAL_PASS_PRO
DUCT B
.......1
PCC-S-02201, Encountered the symbol "LEFT" when expecting one of the following:
; , for, union, connect, group, having, intersect, minus,
order, start, where, with,
Syntax error at line 459, column 21, file D:\Work\WATpassfail\passrate\passrate.pc:
Error at line 459, column 21 in file D:\Work\WATpassfail\passrate\passrate.pc
ON A.PRODUCT = B.PRODUCT
;
....................1
PCC-S-02201, Encountered the symbol "=" when expecting one of the following:
: ) [ ] / . an identifier, a numeric constant,
Error at line 0, column 0 in file D:\Work\WATpassfail\passrate\passrate.pc
PCC-F-02102, Fatal error while doing C preprocessing
以上两句SQL语句在PL/SQL里能运行通过