SET SCHEMA æ–‡

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 
関連資料
SET ISOLATION æ–‡