A instru????o SET SCHEMA define o esquema padr??o para a sess??o da conex??o como sendo o esquema designado. O esquema padr??o ?? utilizado como esquema de destino por todas as instru????es emitidas pela conex??o que n??o especificam explicitamente o nome do esquema.
Para a instru????o SET SCHEMA ser bem-sucedida, o esquema de destino deve existir. Se o esquema n??o existir, retornar?? um erro. Consulte a Instru????o CREATE SCHEMA.
A instru????o SET SCHEMA n??o ?? transacional: Se a instru????o SET SCHEMA for parte de uma transa????o desfeita, a mudan??a de esquema permanecer?? aplicada.
SET [CURRENT] SCHEMA [=] { nome-do-esquema | USER | ? | '<constante-cadeia-de-caracteres>' } | SET CURRENT SQLID [=] { nome-do-esquema | USER | ? | '<constante-cadeia-de-caracteres>' }
O nome-do-esquema ?? um identificador com comprimento m??ximo igual a 128. N??o diferencia letras mai??sculas de min??sculas, a menos que esteja entre aspas (Por exemplo, SYS ?? equivalente a sYs, SYs, sys, etc.).
USER ?? o usu??rio corrente. Se n??o houver usu??rio corrente definido, o esquema corrente padr??o ser?? o esquema APP (Se for especificado um nome de usu??rio na conex??o, o nome de usu??rio ser?? o esquema padr??o para a conex??o, caso exista um esquema com este nome).
? ?? a especifica????o de um par??metro din??mico que pode ser utilizado em instru????es preparadas. A instru????o SET SCHEMA pode ser preparada uma vez e executada com valores de esquema diferentes. Os valores do esquema s??o tratados como constantes cadeia de caracteres, portanto diferenciando letras mai??sculas e min??sculas. Por exemplo, para designar o esquema APP deve ser utilizada a cadeia de caracteres "APP", em vez de "app".
-- os comandos a seguir s??o todos equivalentes, -- e funcionam assumindo que exista um esquema chamado 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" -- identificador entre aspas SET SCHEMA 'HOTEL' -- cadeia de caracteres entre ap??strofos -- Este exemplo produz um erro, porque -- hotel em min??sculas n??o ser?? encontrado SET SCHEMA = 'hotel' -- Este exemplo produz um erro, porque SQLID -- n??o ?? permitido sem CURRENT SET SQLID hotel -- Este exemplo define o esquema como o ID do usu??rio corrente SET CURRENT SCHEMA USER // Abaixo est?? um exemplo da utiliza????o de SET SCHEMA em um programa Java PreparedStatement ps = conn.PrepareStatement("set schema ?"); ps.setString(1,"HOTEL"); ps.executeUpdate(); ... fazer alguma coisa ps.setString(1,"APP"); ps.executeUpdate(); ps.setString(1,"app"); //erro - a cadeia de caracteres diferencia // letras mai??sculas e min??sculas; app n??o ser?? encontrado ps.setNull(1, Types.VARCHAR); //erro - n??o ?? permitido nulo