0
我嘗試執行此操作,但它在默認表空間處發生錯誤。我想給我創建的用戶提供一個默認表空間,但是如何?使用默認表空間創建Oracle用戶循環
BEGIN
FOR USERNAME IN (SELECT studentname from students)
LOOP
EXECUTE IMMEDIATE 'CREATE USER ' || USERNAME.studentname || ' IDENTIFIED BY ' || USERNAME.studentname;
EXECUTE IMMEDIATE 'DEFAULT TABLESPACE "USERS"';
EXECUTE IMMEDIATE 'TEMPORARY TABLESPACE "TEMP"';
EXECUTE IMMEDIATE 'GRANT STUDENT TO ' || USERNAME.studentname ;
END LOOP;
END;
Error report - ORA-00900: invalid SQL statement ORA-06512: at line 5 00900. 00000 - "invalid SQL
究竟哪個錯誤? –
指定錯誤很有用。你的前三個陳述看起來應該都是單個陳述的一部分。你需要一個'EXECUTE IMMEDIATE'完成整個'CREATE USER'包括默認和臨時表空間。當然,你需要確保在你的DDL語句中有適當的空白(例如'DEFAULT'和'TEMPORARY'之前的空格)。 –
前三行應該是**單**語句。沒有有效的SQL語句'默認tablespace' –