SET SCHEMA æ–‡ã?«ã‚ˆã‚Šã€?接続ã?®æ—¢å®šã‚¹ã‚ーマを指定ã?—ã?Ÿã‚¹ã‚ーマã?«è¨å®šã?§ã??ã?¾ã?™ã€‚ 接続ã?‹ã‚‰ç™ºè¡Œã?•れる文ã?«ã?¦å¯¾è±¡ã?®ã‚¹ã‚ーマå??を明示的ã?«æŒ‡å®šã?—ã?ªã?‹ã?£ã?Ÿå ´å?ˆã€?既定スã‚ーマã?Œå¯¾è±¡ã?®ã‚¹ã‚ーマã?¨ã?ªã‚Šã?¾ã?™ã€‚
SET SCHEMA文をæˆ?功è£?ã?«å®Ÿè¡Œã?™ã‚‹ã?Ÿã‚?ã?«ã?¯ã€?è¨å®šã?™ã‚‹ã‚¹ã‚ーマã?Œå˜åœ¨ã?—ã?¦ã?„ã?ªã?‘れã?°ã?ªã‚Šã?¾ã?›ã‚“。 スã‚ーマã?Œå˜åœ¨ã?—ã?¦ã?„ã?ªã?‘れã?°ã€?エラーã?¨ã?ªã‚Šã?¾ã?™ã€‚CREATE SCHEMA 文をå?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。
SET SCHEMA æ–‡ã?¯ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³å‡¦ç?†ã?•れã?¾ã?›ã‚“。ã??れゆã?ˆSET SCHEMA æ–‡ã?Œå®Ÿè¡Œã?•れるã?¨ã€?トランザクションã?Œãƒãƒ¼ãƒ«ãƒ?ックã?•れã?¦ã‚‚ã€?SET SCHEMA æ–‡ã?«ã‚ˆã‚Šå¤‰æ›´ã?•れã?Ÿã‚¹ã‚ーマã?®ã?¾ã?¾ã?§ã?™ã€‚
SET [CURRENT] SCHEMA [=] { スã‚ーマå?? | USER | ? | '<æ–‡å—列定数>' } | SET CURRENT SQLID [=] { スã‚ーマå?? | USER | ? | '<æ–‡å—列定数>' }
スã‚ーマå??ã?¯æœ€å¤§ã?§128æ–‡å—ã?‹ã‚‰ã?ªã‚‹è˜åˆ¥å?ã?§ã?™ã€‚スã‚ーマå??ã?¯äºŒé‡?引用符ã?§å›²ã?¾ã‚Œã?ªã?„é™?りã€?大文å—å°?æ–‡å—を区別ã?—ã?¾ã?›ã‚“。(例を挙ã?’ã‚‹ã?¨ã€?SYSã?¯sYsã€?SYsã€?sysã?®ã?„ã?šã‚Œã?¨ã‚‚ç‰ä¾¡ã?§ã?™ã€‚)
USERã?¯ç?¾åœ¨ã?®ãƒ¦ãƒ¼ã‚¶ã?§ã?™ã€‚ç?¾åœ¨ã?®ãƒ¦ãƒ¼ã‚¶ã?Œå®šç¾©ã?•れã?¦ã?„ã?ªã?„å ´å?ˆã€?ç?¾åœ¨ã?®ã‚¹ã‚ーマã?¯æ—¢å®šã?§APPã?§ã?™ã€‚(接続ã?«ãƒ¦ãƒ¼ã‚¶å??ã?Œå®šç¾©ã?•れã?¦ã?„ã‚‹å ´å?ˆã€?ã??ã?®ãƒ¦ãƒ¼ã‚¶å??ã?«å¯¾å¿œã?—ã?Ÿã‚¹ã‚ーマã?Œã?‚ã‚‹ã?ªã‚‰ã€?ã??れã?ŒæŽ¥ç¶šã?®æ—¢å®šã?®ã‚¹ã‚ーマã?¨ã?ªã‚Šã?¾ã?™ã€‚
? ã?¯æº–å‚™ã?•れã?Ÿæ–‡ã?§åˆ©ç”¨ã?§ã??ã‚‹å‹•çš„ã?ªå¼•æ•°ã?§ã?™ã€‚SET SCHEMA文を準備ã?—ã?¦ã€?ç•°ã?ªã‚‹ã‚¹ã‚ーマを値ã?«ã?¨ã?£ã?¦å®Ÿè¡Œã?™ã‚‹ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚ã?“ã?®ã?¨ã??スã‚ーマã?®å€¤ã?¯æ–‡å—列定数ã?¨æ‰±ã‚?れã€?大文å—å°?æ–‡å—ã?ŒåŒºåˆ¥ã?•れã?¾ã?™ã€‚例ã?ˆã?°ã€?APPを指定ã?™ã‚‹ã?«ã?¯ã€?"app"ã?§ã?¯ã?ªã??"APP"を使ã?„ã?¾ã?™ã€‚
-- 以下ã?®ä¾‹ã?¯å…¨ã?¦ç‰ä¾¡ã?§ã€? -- HOTELã?¨ã?„ã?†ã‚¹ã‚ーマã?Œã?‚れã?°å‹•作ã?—ã?¾ã?™ã€‚ SET SCHEMA HOTEL SET SCHEMA hotel SET CURRENT SCHEMA hotel SET CURRENT SQLID hotel SET SCHEMA = hotel SET CURRENT SCHEMA = hotel SET CURRENT SQLID = hotel SET SCHEMA "HOTEL" -- クォートã?•れã?Ÿè˜åˆ¥å? SET SCHEMA 'HOTEL' -- クォートã?•れã?Ÿæ–‡å—列 --å°?æ–‡å—ã?®hotelã?¯å˜åœ¨ã?—ã?ªã?„ã?®ã?§ã€? --ã?“ã?®ä¾‹ã?¯ã‚¨ãƒ©ãƒ¼ã?¨ã?ªã‚Šã?¾ã?™ã€‚ SET SCHEMA = 'hotel' --SQLIDã?¯CURRENTã?¨ã?¨ã‚‚ã?«ä½¿ã‚?ã?ªã?‘れã?°ã?ªã‚‰ã?ªã?„ã?®ã?§ã€? --ã?“ã?®ä¾‹ã?¯å¤±æ•—ã?—ã?¾ã?™ã€‚ SET SQLID hotel -- ã?“れã?«ã‚ˆã‚Šã‚¹ã‚ーマã?¯ç?¾åœ¨ã?®ãƒ¦ãƒ¼ã‚¶IDã?«è¨å®šã?•れã?¾ã?™ã€‚ SET CURRENT SCHEMA USER // Javaã?®ãƒ—ãƒã‚°ãƒ©ãƒ ã?§set schemaを使ã?†ä¾‹ã?§ã?™ã€‚ PreparedStatement ps = conn.PrepareStatement("set schema ?"); ps.setString(1,"HOTEL"); ps.executeUpdate(); ... do some work ps.setString(1,"APP"); ps.executeUpdate(); ps.setString(1,"app"); //error - string is case sensitive // no app will be found ps.setNull(1, Types.VARCHAR); //error - null is not allowed