Return-Path: Delivered-To: apmail-db-derby-commits-archive@www.apache.org Received: (qmail 20940 invoked from network); 24 Mar 2006 07:11:59 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 24 Mar 2006 07:11:59 -0000 Received: (qmail 45628 invoked by uid 500); 24 Mar 2006 07:11:58 -0000 Delivered-To: apmail-db-derby-commits-archive@db.apache.org Received: (qmail 45479 invoked by uid 500); 24 Mar 2006 07:11:56 -0000 Mailing-List: contact derby-commits-help@db.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: "Derby Development" List-Id: Delivered-To: mailing list derby-commits@db.apache.org Received: (qmail 45440 invoked by uid 99); 24 Mar 2006 07:11:56 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 23 Mar 2006 23:11:56 -0800 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,DRUGS_MUSCLE,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Thu, 23 Mar 2006 23:11:37 -0800 Received: (qmail 20149 invoked by uid 65534); 24 Mar 2006 07:11:16 -0000 Message-ID: <20060324071116.20147.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r388422 [11/16] - in /db/derby/docs/trunk/src/pt_BR: ./ ref/ Date: Fri, 24 Mar 2006 07:10:11 -0000 To: derby-commits@db.apache.org From: fuzzylogic@apache.org X-Mailer: svnmailer-1.0.7 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Added: db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj13590.dita URL: http://svn.apache.org/viewcvs/db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj13590.dita?rev=388422&view=auto ============================================================================== --- db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj13590.dita (added) +++ db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj13590.dita Thu Mar 23 23:09:52 2006 @@ -0,0 +1,473 @@ + + + + + +Cláusula CONSTRAINT + + + +Cláusula CONSTRAINT +Restrições +Propriedades de armazenamentopara índices apoiando restrições +Apoio a índicesespecificação de propriedades de armazenamento +Tabelasespecificação do tamanho da páginaespecificação das propriedades + + + + +
+

A cláusula CONSTRAINT é uma parte opcional da +Instrução CREATE TABLE e da +Instrução ALTER TABLE. +A restrição é uma regra com a qual os dados devem estar em conformidade. +O nome da restrição é opcional.

+

A restrição pode ser: +

    +
  • +Restrição no nível-de-coluna +Restriçãonível-de-coluna +restrição no nível-de-coluna +

    As restrições no nível-de-coluna fazem referência a uma única coluna +da tabela, e não especificam o nome da coluna (exceto as restrições de +verificação). +Se referem à coluna a qual seguem.

    +
  • +
  • +Restrição no nível-de-tabela +Restriçãonível-de-tabela +restrição no nível-de-tabela +

    As restrições no nível-de-tabela fazem referência a uma ou mais colunas da +tabela. +As restrições no nível-de-tabela especificam os nomes das colunas às quais se +aplicam. +As restrições de verificação (CHECK) no nível de tabela podem fazer referência a +zero ou mais colunas da tabela.

    +
  • +
+

+

+Restrições no nível-de-colunautilizadas nas instruções CREATE TABLE +Restriçõesnível-de-coluna +As restrições de coluna incluem: +

    +
  • NOT NULL +

    Especifica que a coluna não pode conter valores nulos (não pode ser dado nome +a restrições deste tipo).

    +
  • +
  • PRIMARY KEY +Chaves primáriascriaçãoadição +

    Especifica a coluna que identifica unicamente uma linha da tabela. +A coluna identificada deve ser definida como NOT NULL.

    +Se for tentado adicionar uma chave primária utilizando a instrução +ALTER TABLE, e alguma coluna incluída na chave primária contiver valores +nulos, será gerado um erro e a chave primária não será adicionada. +Para obter mais informações deve ser consultada a +Instrução ALTER TABLE. +
  • +
  • UNIQUE +

    Especifica que os valores na coluna devem ser únicos. +Não são permitidos valores nulos.

    +
  • +
  • FOREIGN KEY +

    Especifica que os valores na coluna devem corresponder a valores em uma +coluna de chave primária ou de chave única referenciada, ou que são nulos.

    +
  • +
  • CHECK +

    Especifica regras para os valores da coluna.

    +
  • +
+

+

+Restrições de tabelautilizadas na instrução CREATE TABLE +Restriçõesnível-de-tabela +As restrições de tabela incluem: +

    +
  • PRIMARY KEY +Chaves primáriascriaçãoadição +

    Especifica a coluna ou colunas que identificam unicamente uma linha da +tabela. +Não são permitidos valores nulos.

    +
  • +
  • UNIQUE +

    Especifica que os valores nas colunas devem ser únicos. +As colunas identificadas devem ser definidas como NOT NULL.

  • +
  • FOREIGN KEY +

    Especifica que os valores nas colunas devem corresponder a valores em +colunas de uma chave primária ou chave única referenciada, ou que são nulos.

    +Se a chave estrangeira for formada por várias colunas, e se +alguma coluna for nula, toda a chave será considerada nula. +A inserção será permitida não importando o que esteja presente nas colunas +não-nulas. +
  • +
  • CHECK +

    Especifica diversas regras para os valores na tabela.

    +
  • +
+

+

+Restriçõesdiferenças entre nível-de-coluna e nível-de-tabela +As restrições de coluna e restrições de tabela possuem a mesma função; +a diferença é onde são especificadas. +As restrições de tabela permitem especificar mais de uma coluna na definição da +restrição PRIMARY KEY, UNIQUE, CHECK e FOREIGN KEY. +As restrições no nível-de-coluna (exceto as restrições de verificação) fazem +referência a apenas uma coluna.

+
+ +Sintaxe +
+Restrições de chave primária e de unicidade +

+Restrições de chave primária +Restrições de unicidade +A chave primária define o conjunto de colunas que identificam unicamente as +linhas da tabela.

+

Quando se cria uma restrição de chave primária, nenhuma das colunas incluídas +na chave primária pode ter a restrição NULL; ou seja, não podem permitir +valores nulos.

+

A instrução ALTER TABLE ADD PRIMARY KEY permite incluir colunas existentes +em uma chave primária, caso estas tenham sido anteriormente definidas como +NOT NULL. +Os valores NULL não são permitidos. +Se as colunas contiverem valores nulos, o sistema não adicionará a restrição de +chave primária. +Para obter mais informações deve ser consultada a +Instrução ALTER TABLE.

+

A tabela pode ter no máximo uma restrição PRIMARY KEY, mas pode ter várias +restrições UNIQUE.

+
+
+Restrições de chave estrangeira +

+Chaves estrangeiras +Integridade referencialatravés de chaves estrangeiras +As chaves estrangeiras fornecem um meio de impor a integridade referencial de +um banco de dados. +A chave estrangeira é uma coluna, ou grupo de colunas, dentro da tabela que +fazem referência a uma chave de alguma outra tabela (ou algumas vezes, embora +raramente, à mesma tabela). +A chave estrangeira deve incluir sempre colunas cujos tipos correspondem +exatamente aos tipos das colunas da restrição de chave primária ou de unicidade +referenciada.

+

Em uma restrição de chave estrangeira no nível-de-tabela, para a qual são +especificadas as colunas da tabela que compõem a restrição, a mesma coluna não +pode ser usada mais de uma vez.

+

Se houver uma lista de colunas na EspecificaçãoReferencias +(lista das colunas na tabela referenciada), esta lista deverá corresponder +a uma restrição de chave primária ou a uma restrição de unicidade da tabela +referenciada. +A EspecificaçãoReferencias pode omitir a lista de colunas da tabela +referenciada, se esta tabela possuir uma chave primária declarada.

+

Se não houver uma lista de colunas na EspecificaçãoReferencias, e a +tabela referenciada não possuir uma chave primária, será lançada uma exceção de +instrução (Isto significa que se a tabela referenciada possuir apenas chaves +únicas, é necessário incluir a lista de colunas na +EspecificaçãoReferencias).

+

A restrição de chave estrangeira está satisfeita quando há um valor +correspondente na coluna de unicidade ou de chave primária correspondente. +Se a chave estrangeira for composta por várias colunas, o valor da chave +estrangeira será considerado nulo quando qualquer uma de suas colunas tiver o +valor nulo. +É possível que uma chave estrangeira formada por várias colunas permita +que uma de suas colunas contenha um valor para o qual não exista valor +correspondente nas colunas referenciadas, de acordo com o padrão SQL-92. +Para evitar esta situação, devem ser criadas restrições NOT NULL em todas as +colunas da chave estrangeira. +

+
+
+Restrições de chave estrangeira e a DML +

Quando é feita uma inserção ou atualização em uma tabela que possui uma +restrição de chave estrangeira habilitada, o + +verifica se a linha não viola a restrição de chave estrangeira procurando a +chave referenciada correspondente na tabela referenciada. +Se a restrição não for satisfeita, o + +rejeitará a inserção ou a atualização através de uma exceção de instrução.

+

Quando uma linha de uma tabela com uma chave referenciada (uma restrição de +chave primária ou de unicidade referenciada por uma chave estrangeira) é +atualizada ou removida, o + +verifica todas as restrições de chave estrangeira que fazem referência à chave, +para ter certeza que a remoção ou a modificação da linha não causa violação da +restrição. +Se a remoção ou a modificação da linha causar uma violação da restrição, +a atualização ou remoção não será permitida, e o + +lançará uma exceção de instrução.

+

O realiza as +verificações de restrição no momento em que a instrução é executada, e não +quando a transação é efetivada.

+
+
+Índices de apoio +

+Índices de apoiocriados automaticamente para impor as +restrições de chave primária, unicidade e de chave estrangeira +Índicescriação automática para as restrições de +chave primária, unicidade e de chave estrangeira +As restrições UNIQUE, PRIMARY KEY e FOREIGN KEY geram índices que impõem, ou +"apoiam", à restrição (sendo algumas vezes chamados de índices de apoio). +As restrições UNIQUE e PRIMARY KEY geram índices únicos. +As restrições FOREIGN KEY geram índices que não são únicos. +Portanto, se uma coluna, ou conjunto de colunas, estiverem envolvidas em uma +restrição UNIQUE, PRIMARY KEY ou FOREIGN KEY, não é necessário criar índices +nestas colunas para melhorar o desempenho, o + +já terá criado o índice. +Consulte +Índices e restrições.

+

Estes índices ficam disponíveis para o otimizador para a otimização de +comandos (consulte a Instrução CREATE INDEX), +e possuem nomes gerados pelo sistema.

+

Não é permitido remover um índice de apoio através da instrução DROP INDEX; +é necessário remover a restrição ou a tabela.

+
+
+Restrições de verificação +

+Restrições de verificação +As restrições de verificação podem ser utilizadas para especificar +diversas regras para o conteúdo da tabela. +É especificada uma condição de procura (que é uma expressão booleana), para a +restrição de verificação. +Esta condição de procura deve ser satisfeita por todas as linhas da tabela. +A condição de procura é aplicada a toda linha modificada por uma instrução +INSERT ou UPDATE, na hora em que a linha é modificada. +A instrução é interrompida por completo quando qualquer restrição de +verificação é violada.

+
+
+Requisitos da condição de procura +

Se a restrição de verificação for especificada como parte da +definição-da-coluna, a referência a coluna somente poderá ser feita para a +mesma coluna. +As restrições de verificação especificadas como parte da definição da tabela, +podem possuir referência a colunas que identificam colunas definidas +anteriormente na instrução CREATE TABLE.

+

A condição de procura deve retornar sempre o mesmo valor quando for aplicada +aos mesmos valores. +Portanto, não pode conter: +

    +
  • Parâmetros dinâmicos (?)
  • +
  • Funções de Data/Hora (CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP)
  • +
  • Subconsultas
  • +
  • Funções de usuário (tal como USER, SESSION_USER, CURRENT_USER)
  • +
+

+
+
+Ações referenciais +

+Ações referenciais +Cláusula de restriçãoações referenciais +Quando a chave estrangeira é definida, pode ser especificada uma cláusula +ON DELETE e/ou ON UPDATE seguida pela ação apropriada +(CASCADE, RESTRICT, SET NULL ou NO ACTION). +Estas cláusulas especificam se o + +deve modificar os valores da chave estrangeira correspondente ou não permitir +a operação, para manter o relacionamento de chave estrangeira intacto quando o +valor da chave primária for atualizado ou excluído da tabela.

+

A regra de atualização ou de exclusão da restrição referencial é especificada +quando a restrição referencial é definida.

+

A regra de atualização é aplicada quando uma linha da tabela mãe ou da tabela +dependente é atualizada. +As escolhas são NO ACTION e RESTRICT.

+

Quando se atualiza o valor de uma coluna da chave primária da tabela mãe, +e a regra de atualização está especificada como RESTRICT, o + +verifica as tabelas dependentes com relação às restrições de chave estrangeira. +Se alguma linha de tabela dependente violar a restrição de chave estrangeira, +a transação será desfeita.

+

Se a regra de atualização for NO ACTION, o + +verificará as tabelas dependentes com relação às restrições de chave estrangeira +após todas as exclusões terem sido executadas, mas antes dos +gatilhos serem executados. +Se alguma linha de tabela dependente violar a restrição de chave estrangeira, +a instrução será rejeitada.

+

Quando é atualizado o valor de uma coluna em uma tabela dependente, e este +valor faz parte da chave estrangeira, a regra de atualização implícita é +NO ACTION. +NO ACTION significa que se a chave estrangeira for atualizada com um valor +não-nulo, o valor atualizado deverá corresponder a um valor na chave primária +da tabela mãe quando a instrução estiver completa. +Se a atualização não corresponder a um valor na chave primária da tabela mãe, +a instrução será rejeitada.

+

A regra de exclusão é aplicada quando uma linha da tabela mãe é excluída, +e esta linha possui dependentes na tabela dependente da restrição referencial. +Quando são excluídas linhas da tabela dependente, a operação de exclusão +da tabela mãe é dita como propagada para a tabela dependente. +Se a tabela dependente também for uma tabela mãe, a ação especificada será +aplicada, por sua vez, às suas tabelas dependentes.

+

As escolhas são NO ACTION, RESTRICT, CASCADE e SET NULL. +SET NULL somente poderá ser especificada quando alguma coluna da +chave estrangeira permitir valores nulos.

+

Se a regra de exclusão for:

+

NO ACTION, o + +verificará as tabelas dependentes com relação às restrições referenciais +após todas as exclusões terem sido executadas, mas antes +dos gatilhos serem executados. +Se alguma linha da tabela dependente violar a restrição de chave estrangeira, +a instrução será rejeitada.

+

RESTRICT, o + +verificará as tabelas dependentes com relação às chaves estrangeiras. +Se alguma linha da tabela dependente violar a restrição de chave estrangeira, +a transação será desfeita.

+

CASCADE, a operação de exclusão será propagada para a tabela dependente +(e para as dependentes desta tabela, caso se aplique).

+

SET NULL, todas as colunas da chave estrangeira da tabela dependente que +aceitam o valor nulo, receberão o valor nulo (Novamente, se a tabela dependente +também possuir tabelas dependentes, as colunas das chaves estrangeiras destas +tabelas que aceitam o valor nulo, receberão o valor nulo)

+

Cada restrição referencial onde a tabela é a tabela mãe, possui suas próprias +regras de exclusão; todas as regras de exclusão aplicáveis são utilizadas para +determinar o resultado da operação de exclusão. +Portanto, não poderá ser excluída uma linha que possua dependentes em uma +restrição referencial com regra de exclusão RESTRICT ou NO ACTION. +De forma semelhante, a linha não poderá ser excluída quando a exclusão se +propagar em cascata para alguma de suas descendentes que seja dependente em +uma restrição referencial com a regra de exclusão RESTRICT ou NO ACTION.

+

A exclusão de uma linha da tabela mãe envolve outras tabelas. +Qualquer tabela envolvida em uma operação de exclusão na tabela mãe é dita +como sendo conectada-para-exclusão com a tabela mãe. +A exclusão pode afetar as linhas destas tabelas das seguintes maneiras: +

    +
  • Se a regra de exclusão for RESTRICT ou NO ACTION, a tabela dependente +estará envolvida na operação, mas não será afetada pela operação (ou seja, o + +verificará os valores na tabela, mas não excluirá qualquer valor).
  • +
  • Se a regra de exclusão for SET NULL, as linhas da tabela dependente poderão +ser atualizadas quando uma linha da tabela mãe for objeto de uma exclusão ou +de uma operação de exclusão propagada.
  • +
  • Se a regra de exclusão for CASCADE, as linhas da tabela dependente poderão +ser excluídas quando a tabela mãe for objeto de uma exclusão.
  • +
  • Se a tabela dependente também for uma tabela mãe, as ações descritas nesta +lista serão aplicadas, por sua vez, às suas tabelas dependentes.
  • +
+

+
+ +Exemplos +-- restrição de chave primária no nível-de-coluna chamada PK_SAÍDA: +CREATE TABLE SAMP.CAIXA_SAÍDA + ( + ENVIO TIMESTAMP, + DESTINO CHAR(8), + ASSUNTO CHAR(64) NOT NULL CONSTRAINT PK_CAIXA_SAÍDA PRIMARY KEY, + TEXTO_NOTA VARCHAR(3000) + ); + +-- a definição de chave primária no nível-de-tabela permite +-- incluir duas colunas na definição da chave primária: +CREATE TABLE SAMP.AGENDA + ( + COD_CLASSE CHAR(7) NOT NULL, + DIA SMALLINT NOT NULL, + INÍCIO TIME, + FIM TIME, + PRIMARY KEY (COD_CLASSE, DIA) + ); + +-- Uso de uma restrição no nível-de-coluna para verificação aritmética. +-- Uso de uma restrição no nível-de-tabela para ter certeza que os +-- impostos do empregado não são maiores que os bônus. +CREATE TABLE SAMP.EMP + ( + NUM_EMP CHAR(6) NOT NULL CONSTRAINT PK_EMP PRIMARY KEY, + NOME CHAR(12) NOT NULL, + INICIAL_MEIO VARCHAR(12) NOT NULL, + SOBRENOME VARCHAR(15) NOT NULL, + SALÁRIO DECIMAL(9,2) CONSTRAINT VERIF_SAL CHECK (SALÁRIO >= 10000), + BÔNUS DECIMAL(9,2), + IMPOSTOS DECIMAL(9,2), + CONSTRAINT VERIF_BÔNUS CHECK (BÔNUS > IMPOSTOS) + ); + +-- Uso de uma restrição de verificação para permitir +-- apenas as abreviaturas apropriadas para as refeições +CREATE TABLE VÔOS + ( + ID_VÔO CHAR(6) NOT NULL , + NÚMERO_SEGMENTO INTEGER NOT NULL , + AEROPORTO_ORIGEM CHAR(3), + HORA_PARTIDA TIME, + AEROPORTO_DESTINO CHAR(3), + HORA_CHEGADA TIME, + REFEIÇÃO CHAR(1) CONSTRAINT VERIF_REFEIÇÃO + CHECK (REFEIÇÃO IN ('B', 'L', 'D', 'S')), + PRIMARY KEY (ID_VÔO, NÚMERO_SEGMENTO) + ); + +CREATE TABLE METROPOLITANO + ( + ID_HOTEL INT NOT NULL CONSTRAINT PK_HOTÉIS PRIMARY KEY, + NOME_HOTEL VARCHAR(40) NOT NULL, + ID_CIDADE INT CONSTRAINT FK_METRO REFERENCES CIDADES + ); + +-- criação de uma tabela com uma restrição de chave primária +-- e uma restrição de chave estrangeira no nível-de-tabela +CREATE TABLE VÔOS_DISP + ( + ID_VÔO CHAR(6) NOT NULL, + NÚMERO_SEGMENTO INT NOT NULL, + DATA_VÔO DATE NOT NULL, + ASSENTOS_ECONÔMICOS_OCUPADOS INT, + ASSENTOS_EXECUTIVOS_OCUPADOS INT, + ASSENTOS_PRIMEIRA_CLASSE_OCUPADOS INT, + CONSTRAINT PK_VÔOS_DISP PRIMARY KEY (ID_VÔO, NÚMERO_SEGMENTO), + CONSTRAINT FK_VÔOS + FOREIGN KEY (ID_VÔO, NÚMERO_SEGMENTO) + REFERENCES VÔOS (ID_VÔO, NÚMERO_SEGMENTO) + ); + +-- adicionar uma restrição de unicidade a uma coluna +ALTER TABLE SAMP.PROJETO +ADD CONSTRAINT UNQ_PROJ UNIQUE (NOME_PROJ); + +-- criar uma tabela cuja coluna ID_CIDADE faça referência +-- à chave primária da tabela CIDADES utilizando uma +-- restrição de chave estrangeira no nível-de-coluna +CREATE TABLE CONDOMÍNIOS + ( + ID_COND INT NOT NULL CONSTRAINT PK_HOTÉIS PRIMARY KEY, + NOME_COND VARCHAR(40) NOT NULL, + ID_CIDADE INT CONSTRAINT FK_CIDADE + REFERENCES CIDADES + ON DELETE CASCADE + ON UPDATE RESTRICT + ); + + +
+Sistema de dependência de instrução +

As instruções INSERT e UPDATE dependem de todas as restrições da tabela de +destino. +As instruções DELETE dependem das restrições de unicidade, chave primária e +de chave estrangeira. +Estas instruções são invalidadas quando é adicionada ou +removida uma restrição na tabela de destino.

+
+
+
Added: db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj13658.dita URL: http://svn.apache.org/viewcvs/db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj13658.dita?rev=388422&view=auto ============================================================================== --- db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj13658.dita (added) +++ db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj13658.dita Thu Mar 23 23:09:52 2006 @@ -0,0 +1,76 @@ + + + + +Cláusula ORDER BY + + + +Cláusula ORDER BY + + + + +
+

A cláusula ORDER BY é um elemento opcional da +. +A cláusula ORDER BY permite especificar a ordem em que as linhas +aparecem no ResultSet.

+
+ +Sintaxe +ORDER BY { | PosiçãoColuna } + [ ASC | DESC ] + [ , | PosiçãoColuna + [ ASC | DESC ] ] * + +

A PosiçãoColuna é um valor inteiro que identifica o número da coluna +no ItemSeleção na consulta subjacente da +. +A PosiçãoColuna deve ser maior que zero, e não pode ser maior que o +número de colunas na tabela de resultado. +Em outras palavras, se for desejado ordenar pela posição da coluna, a coluna +deverá estar presente na lista de seleção.

+

O se refere aos +nomes visíveis dos ItensSelecionados na consulta subjacente da +. +O nome da coluna de ordenação não precisa estar na lista de seleção.

+

+ASCimplicado pela cláusula ORDER BY +DESCelemento opcional da cláusula ORDER BY +ASC especifica que os resultados devem ser retornados na ordem ascendente; +DESC especifica que os resultados devem ser retornados na ordem descendente; +Quando a ordem não é especificada, o padrão é ASC.

+

+Cláusula ORDER BYafetando cursores +A cláusula ORDER BY impede que a instrução SELECT se torne um cursor +atualizável (Para obter mais informações deve ser consultado +.)

+

Por exemplo, se uma coluna INTEGER contiver números inteiros, NULL é +considerado maior que 1 para as finalidades de classificação. +Em outras palavras, os valores nulos são classificados como sendo maiores.

+
+ +-- ordenar pelo nome de correlação NAÇÃO +SELECT NOME_CIDADE, PAÍS AS NAÇÃO +FROM CIDADES +ORDER BY NAÇÃO; + + + +
+
Added: db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj13733.dita URL: http://svn.apache.org/viewcvs/db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj13733.dita?rev=388422&view=auto ============================================================================== --- db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj13733.dita (added) +++ db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj13733.dita Thu Mar 23 23:09:52 2006 @@ -0,0 +1,70 @@ + + + + + +CHAR + + + +Tipo de dado CHAR + + + + +
+

CHAR fornece armazenamento para cadeias de comprimento fixo.

+
+ +Sintaxe +CHAR[ACTER] [(comprimento)] +

O comprimento é uma constante inteira sem sinal. +O comprimento padrão de CHAR é 1.

+
+
+Tipo Java correspondente em tempo de compilação +

java.lang.String

+
+
+Tipo do metadado do JDBC (java.sql.Types) +

CHAR

+

O insere espaços +para completar o valor cadeia menor que o comprimento esperado. +O trunca espaços do +valor cadeia maior que o comprimento esperado. +Caracteres diferentes de espaço fazem com que seja lançada uma exceção. +Quando são aplicados operadores de comparação binária em tipos CHAR, a +cadeia mais curta é completada com espaços até o comprimento da +cadeia mais longa.

+

Quando se mistura CHAR e VARCHAR em expressões, o valor mais curto é +completado com espaços até o comprimento do valor mais longo.

+

O tipo de uma constante cadeia é CHAR.

+
+
+Aspectos definidos pela implementação +

O único limite de comprimento para os tipos de dado CHAR é o valor +java.lang.Integer.MAX_VALUE.

+
+ +-- Dentro de uma constante cadeia utilizar dois +-- apóstrofos para representar um único apóstrofo +VALUES 'Olá, esta é a cadeia da Maria D''Almeida' + + +
+
Added: db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj14122.dita URL: http://svn.apache.org/viewcvs/db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj14122.dita?rev=388422&view=auto ============================================================================== --- db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj14122.dita (added) +++ db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj14122.dita Thu Mar 23 23:09:52 2006 @@ -0,0 +1,78 @@ + + + + + +REAL + + + +REAL data type + + + + +
+

O tipo de dado REAL fornece 4 bytes de armazenamento para números, +utilizando a notação de ponto flutuante do IEEE.

+
+ +Sintaxe +REAL + +
+Tipo Java correspondente em tempo de compilação +

java.lang.Float

+
+
+Tipo do metadado do JDBC (java.sql.Types) +

REAL

+
+
+Limitações +

Faixa de valores de REAL:

+
    +
  • Menor valor REAL: -3.402E+38
  • +
  • Maior valor REAL: 3.402E+38
  • +
  • Menor valor REAL positivo: 1.175E-37
  • +
  • Maior valor REAL negativo: -1.175E-37
  • +
+

Estes limites são diferentes dos limites do tipo Java +java.lang.Float.

+

É lançada uma exceção quando é calculado ou entrado um valor de precisão +dupla fora desta faixa de valores. +As operações aritméticas não arredondam o valor de seus resultados para +zero. +Se o valor for muito pequeno, será lançada uma exceção. +As operações aritméticas são realizadas em aritmética de precisão dupla, +com a finalidade de detectar números muito pequenos (underflow).

+

As constantes numéricas de ponto flutuante estão limitadas a um comprimento +de 30 caracteres. +-- este exemplo falha porque a constante é muito longa: +values 01234567890123456789012345678901e0; + +

+

Quando misturado com outros tipos de dado nas expressões, o tipo de dado +do resultado segue as regras mostradas em +.

+

Consulte também .

+

As constantes são sempre mapeadas para DOUBLE PRECISION; +deve ser utilizado CAST para converter para REAL.

+
+
+
Added: db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj14854.dita URL: http://svn.apache.org/viewcvs/db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj14854.dita?rev=388422&view=auto ============================================================================== --- db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj14854.dita (added) +++ db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj14854.dita Thu Mar 23 23:09:52 2006 @@ -0,0 +1,73 @@ + + + + +Cláusula HAVING + + + +HAVING clause + + + + +
+

A cláusula HAVING restringe os resultados do GROUP BY na +. +A cláusula HAVING é aplicada a cada grupo da tabela agrupada, de forma parecida +como a cláusula WHERE é aplicada à lista de seleção. +Se não houver uma cláusula GROUP BY, a cláusula HAVING será aplicada a todo o +resultado como um único grupo. +A cláusula SELECT não pode fazer referência direta a qualquer coluna que não +possua uma cláusula GROUP BY. +Entretanto, pode fazer referência a constantes, agregações, e registros +especiais.

+
+ +Sintaxe +HAVING CondiçãoProcura + +

A CondiçãoProcura, que é uma ExpressãoBooleana especializada, +pode conter apenas as colunas de agrupamento (consulte a +), colunas que fazem parte das +expressões de agregação, e as colunas que fazem parte da subconsulta. +Por exemplo, a seguinte consulta é ilegal, porque a coluna SALÁRIO não é uma +coluna de agrupamento, não aparece em uma agregação, e não está em uma +subconsulta: +-- SELECT COUNT(*) +-- FROM SAMP.EQUIPES +-- GROUP BY ID +-- HAVING SALÁRIO > 15000; + +

+

As agregações na cláusula HAVING não precisam aparecer na lista de seleção. +Se a cláusula HAVING possuir uma subconsulta, a subconsulta poderá fazer +referência ao bloco de consulta externo se, e somente se, fizer referência a +uma coluna de agrupamento.

+
+ +-- Descobrir o número total de assentos econômicos +-- ocupados no vôo, agrupado por linha aérea, +-- somente quando o grupo possuir pelo menos 2 linhas. +SELECT SUM(ASSENTOS_ECONÔMICOS_OCUPADOS), LINHA_AÉREA_CHEIA +FROM VÔOS_DISPONIBILIDADE, LINHAS_AÉREAS +WHERE SUBSTR(VÔOS_DISPONIBILIDADE.ID_VÔO, 1, 2) = LINHA_AÉREA +GROUP BY LINHA_AÉREA_CHEIA +HAVING COUNT(*) > 1 + + +
Added: db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj15147.dita URL: http://svn.apache.org/viewcvs/db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj15147.dita?rev=388422&view=auto ============================================================================== --- db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj15147.dita (added) +++ db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj15147.dita Thu Mar 23 23:09:52 2006 @@ -0,0 +1,53 @@ + + + + + +LONG VARCHAR + + + +Tipo de dado LONG VARCHAR + + + + +
+

O tipo de dado LONG VARCHAR permite armazenar cadeias de caracteres com +comprimento máximo de 32.700 caracteres. +É idêntico a VARCHAR, exceto por não ser necessário especificar o comprimento +máximo ao criar colunas deste tipo.

+
+ +Sintaxe + +LONG VARCHAR + + +
+Tipo Java correspondente em tempo de compilação +

java.lang.String

+
+
+Tipo do metadado do JDBC (java.sql.Types) +

LONGVARCHAR

+

Ao converter valores Java para valores SQL, nenhum tipo da linguagem Java +corresponde a LONG VARCHAR.

+
+
+
Added: db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj15260.dita URL: http://svn.apache.org/viewcvs/db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj15260.dita?rev=388422&view=auto ============================================================================== --- db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj15260.dita (added) +++ db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj15260.dita Thu Mar 23 23:09:52 2006 @@ -0,0 +1,88 @@ + + + + + +DECIMAL + + + +Tipo de dado DECIMAL + + + + +
+

DECIMAL fornece um numérico exato onde a precisão e a escala podem ter +tamanhos arbitrários. +Pode ser especificada a precisão (o número total de dígitos, tanto à esquerda +quanto à direita do ponto decimal), e a escala (o número de dígitos da parte +fracionária). +A quantidade de armazenamento necessária é baseada na precisão.

+
+ +Sintaxe +{ DECIMAL | DEC } [(precisão [, escala ])] +

A precisão deve estar entre 1 e 31. +A escala deve ser menor ou igual a precisão.

+

Quando a escala não é especificada, é utilizado o valor padrão igual a 0. +Quando a precisão não é especificada, é utilizada a precisão padrão igual a 5.

+

A tentativa de colocar um valor numérico em um DECIMAL é permitida, desde +que a precisão não fracionária não seja perdida. +Ao remover os dígitos finais do valor DECIMAL, o + +arredonda para baixo.

+

Por exemplo: +-- esta conversão perde apenas a precisão fracionária +VALUES CAST (1.798765 AS DECIMAL(5,2)); +1 +-------- +1.79 +-- esta conversão não cabe +VALUES CAST (1798765 AS DECIMAL(5,2)); +1 +-------- +ERRO 22003: O valor resultante está fora da faixa para o tipo de dado +DECIMAL/NUMERIC(5,2). +

+

Quando misturado com outros tipos de dado nas expressões, o tipo de dado +do resultado segue as regras mostradas em +.

+

Consulte também .

+

Quando são misturados dois valores decimais em uma expressão, a escala e a +precisão do valor resultante seguem as regras mostradas em +.

+
+
+Tipo Java correspondente em tempo de compilação +

java.math.BigDecimal

+
+
+Tipo do metadado do JDBC (java.sql.Types) +

DECIMAL

+
+ +VALUES 123.456 + +VALUES 0.001 + +

As constantes inteiras muito grandes para BIGINT são tornadas constantes +DECIMAL.

+
+
+
Added: db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj15309.dita URL: http://svn.apache.org/viewcvs/db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj15309.dita?rev=388422&view=auto ============================================================================== --- db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj15309.dita (added) +++ db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj15309.dita Thu Mar 23 23:09:52 2006 @@ -0,0 +1,51 @@ + + + + +Cláusula WHERE CURRENT OF + + + +Cláusula WHERE CURRENT OF + + + + +
+

A cláusula WHERE CURRENT OF é uma cláusula de algumas instruções UPDATE e +DELETE. +Permite realizar atualizações e exclusões posicionadas em cursores atualizáveis. +Para obter mais informações sobre cursores atualizáveis deve ser consultada a +.

+
+ +Sintaxe +WHERE CURRENT OF nome-do-cursor + + + +Statement s = conn.createStatement(); +s.setCursorName("ResultadosLinhasAereas"); +ResultSet rs = conn.executeQuery( + "SELECT LINHAS_AÉREA, TARIFA_BÁSICA " + + "FROM LINHAS_AÉREAS FOR UPDATE OF TARIFA_BÁSICA"); +Statement s2 = conn.createStatement(); +s2.executeUpdate("UPDATE LINHAS_AÉREAS SET TARIFA_BÁSICA = TARIFA_BÁSICA " + + "+ .25 WHERE CURRENT OF ResultadosLinhasAereas"); + +
+
Added: db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj15446.dita URL: http://svn.apache.org/viewcvs/db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj15446.dita?rev=388422&view=auto ============================================================================== --- db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj15446.dita (added) +++ db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj15446.dita Thu Mar 23 23:09:52 2006 @@ -0,0 +1,96 @@ + + + + + +Instrução CREATE VIEW + + + +Instrução CREATE VIEW +Visõescriação + + + + +
+

As visões são tabelas virtuais formadas por uma consulta. +A visão é um objeto do dicionário que pode ser utilizado, até ser removido.

+

As visões não são atualizáveis.

+

Se for especificado um nome de visão qualificado, o nome do esquema não +poderá começar por SYS.

+
+ +Sintaxe +CREATE VIEW nome-da-visão + [ ( nome-de-coluna-simples [, nome-de-coluna-simples] * ) ] +AS Consulta + +

A definição da visão pode conter uma lista de colunas da visão, opcional, +para atribuir nomes explícitos às colunas da visão. +Se não houver uma lista de colunas, a visão herdará os nomes de coluna da +consulta subjacente. +Todas as colunas da visão devem possuir nomes únicos.

+
+ +CREATE VIEW SAMP.V1 (COL_SUM, COL_DIFF) + AS SELECT COMISS + BÔNUS, COMISS - BÔNUS + FROM SAMP.EMPREGADOS; + +CREATE VIEW SAMP.V_EMP_CURR (CURRICULUM) + AS VALUES 'Delores M. Quintana', 'Heather A. Nicholls', 'Bruce Adamson'; + +CREATE VIEW SAMP.PROJ_COMBO + (NUM_PROJ, PROJ_DATA_FIM, PROJ_EQUIPE, PROJ_CHEFE) + AS SELECT NUM_PROJ, PROJ_DATA_FIM, PROJ_EQUIPE, PROJ_CHEFE + FROM SAMP.PROJETO + UNION ALL + SELECT NUM_PROJ, EMSTDATE, EMPTIME, NUM_EMP + FROM SAMP.ATIV_EMP + WHERE NUM_EMP IS NOT NULL; + + +
+Sistema de dependência de instrução +

As definições das visões são dependentes das tabelas e visões referenciadas +na definição da visão. +As instruções de DML (linguagem de manipulação de dados) que contêm referência +a visões dependem destas visões, assim como dos objetos nas definições das +visões dos quais as visões dependem. +As instruções que fazem referência à visão dependem dos índices que as visões +utilizam; o índice utilizado pela visão pode mudar de uma instrução para outra, +baseado em como a consulta é otimizada. +Por exemplo, dado: CREATE TABLE T1 (C1 DOUBLE PRECISION); + +CREATE FUNCTION SIN (DATA DOUBLE) + RETURNS DOUBLE EXTERNAL NAME 'java.lang.Math.sin' + LANGUAGE JAVA PARAMETER STYLE JAVA; + +CREATE VIEW V1 (C1) AS SELECT SIN(C1) FROM T1; + +

+

então a instrução a seguir: +SELECT * FROM V1 +

+

é dependente da visão V1, da tabela T1, e da função escalar +externa SIN.

+
+
+
+ Added: db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj15866.dita URL: http://svn.apache.org/viewcvs/db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj15866.dita?rev=388422&view=auto ============================================================================== --- db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj15866.dita (added) +++ db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj15866.dita Thu Mar 23 23:09:52 2006 @@ -0,0 +1,50 @@ + + + + +CURRENT_TIMESTAMP + + + +Função CURRENT_TIMESTAMP + + + + +
+

CURRENT_TIMESTAMP retorna o carimbo do tempo corrente; o valor retornado não +muda se for executado mais de uma vez na mesma instrução. +Isto significa que o valor é fixo, mesmo que haja uma longa demora entre +as linhas trazidas pelo cursor.

+
+ +Sintaxe +CURRENT_TIMESTAMP + +

ou, como alternativa

+CURRENT TIMESTAMP + +
+ +VALUES CURRENT_TIMESTAMP + +-- ou, como alternativa: +VALUES CURRENT TIMESTAMP + + +
+
Added: db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj16095.dita URL: http://svn.apache.org/viewcvs/db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj16095.dita?rev=388422&view=auto ============================================================================== --- db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj16095.dita (added) +++ db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj16095.dita Thu Mar 23 23:09:52 2006 @@ -0,0 +1,38 @@ + + + + + +restrição no nível-de-coluna + + { + NOT NULL | + [ [CONSTRAINT nome-da-restrição] + { + CHECK (CondiçãoProcura) | + { + PRIMARY KEY | + UNIQUE | + REFERENCES cláusula + } + } +} + + + + Added: db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj16221.dita URL: http://svn.apache.org/viewcvs/db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj16221.dita?rev=388422&view=auto ============================================================================== --- db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj16221.dita (added) +++ db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj16221.dita Thu Mar 23 23:09:52 2006 @@ -0,0 +1,61 @@ + + + + + +SMALLINT + + + +Tipo de dado SMALL INTEGER + + + + +
+

SMALLINT fornece 2 bytes de armazenamento.

+
+ +Sintaxe +SMALLINT + +
+Tipo Java correspondente em tempo de compilação +

java.lang.Short

+
+
+Tipo do metadado do JDBC (java.sql.Types) +

SMALLINT

+
+
+Valor mínimo +

-32.768 (java.lang.Short.MIN_VALUE)

+
+
+Valor máximo +

32.767 (java.lang.Short.MAX_VALUE)

+

Quando misturado com outros tipos de dado nas expressões, o tipo de dado +do resultado segue as regras mostradas em +.

+

Consulte também +.

+

As constantes no formato apropriado sempre são mapeadas para INTEGER ou +BIGINT, dependendo de seus comprimento.

+
+
+
Added: db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj16357.dita URL: http://svn.apache.org/viewcvs/db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj16357.dita?rev=388422&view=auto ============================================================================== --- db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj16357.dita (added) +++ db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj16357.dita Thu Mar 23 23:09:52 2006 @@ -0,0 +1,35 @@ + + + + + +Especificação da referência + + +REFERENCES nome-da-tabela [ ( nome-de-coluna-simples [ , nome-de-coluna-simples ]* ) ] +[ ON DELETE {NO ACTION | RESTRICT | CASCADE | SET NULL}] + [ ON UPDATE {NO ACTION | RESTRICT }] +| +[ ON UPDATE {NO ACTION | RESTRICT }] [ ON DELETE + {NO ACTION | RESTRICT | CASCADE | SET NULL}] + + + + Added: db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj16762.dita URL: http://svn.apache.org/viewcvs/db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj16762.dita?rev=388422&view=auto ============================================================================== --- db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj16762.dita (added) +++ db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj16762.dita Thu Mar 23 23:09:52 2006 @@ -0,0 +1,52 @@ + + + + + +LENGTH + + + +Função LENGTH + + + + +
+

LENGTH é aplicado tanto a expressões cadeia de caracteres quanto a +expressões cadeia de bits, e retorna o número de caracteres no resultado.

+

Como todos os tipos de dado nativos são convertidos implicitamente em +cadeias, esta função pode atuar em todos os tipos de dados nativos.

+
+ +Sintaxe +LENGTH ( { ExpressãoCaractere | ExpressãoBit } ) + + + -- retorna 20 +VALUES LENGTH('supercalifragilistic') + +-- retorna 1 +VALUES LENGTH(X'FF') + +-- retorna 4 +VALUES LENGTH(1234567890) + + +
+
Added: db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj18730.dita URL: http://svn.apache.org/viewcvs/db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj18730.dita?rev=388422&view=auto ============================================================================== --- db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj18730.dita (added) +++ db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj18730.dita Thu Mar 23 23:09:52 2006 @@ -0,0 +1,68 @@ + + + + +DATE + + + +Tipo de dado DATEe + + + + +
+

DATE fornece armazenamento para ano-mês-dia na faixa suportada por +java.sql.Date.

+
+ +Sintaxe +DATE + +
+Tipo Java correspondente em tempo de compilação +

java.sql.Date

+
+
+Tipo do metadado do JDBC (java.sql.Types) +

DATE

+

As expressões não devem misturar datas, horas e carimbos do tempo.

+

É permitido qualquer valor reconhecido pelo método java.sql.Date +na coluna com tipo de dado data/hora SQL correspondente. +O +suporta os seguintes formatos para DATE: +yyyy-mm-dd +mm/dd/yyyy +dd.mm.yyyy +O primeiro dos três formatos acima é o formato de java.sql.Date.

+

O ano deve ser sempre expresso com quatro dígitos, enquanto os meses e os +dias podem ter um ou dois dígitos.

+

O +também aceita cadeias no formato de data/hora específico do idioma, utilizando +idioma do servidor de banco de dados. +No caso de haver ambiguidade, os formatos nativos acima têm precedência.

+
+ +Exemplos +VALUES DATE('1994-02-23') + +VALUES '1993-09-01' + + +
+
Added: db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj18922.dita URL: http://svn.apache.org/viewcvs/db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj18922.dita?rev=388422&view=auto ============================================================================== --- db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj18922.dita (added) +++ db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj18922.dita Thu Mar 23 23:09:52 2006 @@ -0,0 +1,91 @@ + + + + + +LEFT OUTER JOIN + + + +Expressão LEFT OUTER JOIN + + + + +
+

LEFT OUTER JOIN é uma +Operação JOIN +que permite especificar a cláusula de junção. +Preserva as linhas sem correspondência da primeira tabela (esquerda), +juntando-as com uma linha nula na forma da segunda tabela (direita).

+
+ +Sintaxe +ExpressãoTabela LEFT [ OUTER ] JOIN ExpressãoTabela +{ + ON ExpressãoBooleana + } + +

O escopo das expressões na cláusula ON inclui as tabelas correntes, e as +tabelas nos blocos de consulta externos ao SELECT corrente. +A cláusula ON pode fazer referência a tabelas que não estão sendo juntadas, +e não é obrigada a fazer referência a nenhuma das tabelas sendo juntadas +(embora tipicamente o faça).

+
+ +--correspondência entre cidades e países +SELECT CIDADES.PAÍS, REGIÃO +FROM PAÍSES + LEFT OUTER JOIN CIDADES + ON ID_CIDADE=ID_CIDADE +WHERE REGIÃO = 'Ásia'; + +-- uso da sintaxe sinônimo, LEFT JOIN, para obter exatamente +-- os mesmos resultados da exemplo acima +SELECT CIDADES.PAÍS, REGIÃO +FROM PAÍSES + LEFT JOIN CIDADES + ON ID_CIDADE=ID_CIDADE +WHERE REGIÃO = 'Ásia'; + +-- Junção das tabelas EMPREGADOS e DEPARTAMENTOS, +-- selecionar o número do empregado (NUM_EMP), +-- o sobrenome do empregado (ÚLTIMO_NOME), +-- o número do departamento (DEP_TRAB na tabela EMPREGADOS e +-- NUM_DEP na tabela DEPARTAMENTOS) +-- e o nome do departamento (NOME_DEP) +-- de todos os empregados nascidos (DATA_NASC) antes de 1930 +SELECT NUM_EMP, ÚLTIMO_NOME, DEP_TRAB, NOME_DEP +FROM SAMP.EMPREGADOS + LEFT OUTER JOIN SAMP.DEPARTAMENTOS + ON DEP_TRAB = NUM_DEP + AND YEAR(DATA_NASC) < 1930; + +-- Listar todos os departamentos, juntamente com o +-- número do empregado e o último nome do gerente, +-- incluindo os departamentos sem gerente +SELECT NUM_DEP, NOME_DEP, NUM_EMP, ÚLTIMO_NOME +FROM DEPARTAMENTOS + LEFT OUTER JOIN EMPREGADOS + ON NUM_GER = NUM_EMP; + + + +
+
Added: db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj19433.dita URL: http://svn.apache.org/viewcvs/db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj19433.dita?rev=388422&view=auto ============================================================================== --- db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj19433.dita (added) +++ db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj19433.dita Thu Mar 23 23:09:52 2006 @@ -0,0 +1,320 @@ + + + + + +Expressões SQL + +
+

A sintaxe de muitas instruções e expressões inclui o termo Expressão, +ou um termo para um tipo específico de expressão como SubconsultaTabela. +Dentro das instruções, são permitidas expressões nestes pontos especificados. +Alguns locais permitem apenas um tipo específico de expressão, ou uma expressão +com uma propriedade específica. +A lista todas +as expressões SQL possíveis, e indica onde são permitidas.

+
+
+

Quando não é especificado o contrário, é permitida uma expressão em qualquer +lugar onde aparece Expressão na sintaxe. +Isto inclui: +

    +
  • ExpressãoSeleção
  • +
  • Instrução UPDATE (porção SET)
  • +
  • VALUES Expressão
  • +
  • Cláusula WHERE
  • +
+

+
+
+

Obviamente, muitas outras instruções incluem estes elementos como blocos de +construção e, portanto, permitem expressões como parte destes elementos. + +Tabela de Expressões + + + + + + + +Tipo da expressão +Explicação + + + + +Expressões gerais +Todas as expressões que podem resultar em um valor de qualquer tipo. + + + + +

+Expressão de referência a coluna +Referência a coluna

+

Permitida na +ExpressãoSeleção, +na instrução UPDATE e na cláusula WHERE das instruções de manipulação de dados.

+
+O +que faz referência ao valor da coluna tornado visível para a expressão que +contém a referência a coluna. +

O nome-da-coluna deve ser qualificado pelo nome da tabela ou pelo +nome da correlação se houver ambiguidade.

+

O qualificador do +nome-da-coluna +deve ser o nome da correlação, se for atribuído nome de correlação à +tabela na Cláusula FROM. +O nome da tabela não é mais visível como qualificador para nome-da-coluna +após a tabela ter recebido um aliás pelo nome da correlação.

+
+
+ + +

Expressão constanteConstante

+A maioria dos tipos de dado nativos normalmente possuem +constantes associadas aos mesmos +(conforme mostrado em ). + +
+ + + +

Expressão NULLNULL

+

Permitido nas expressões CAST, na lista de valores do INSERT, e na +cláusula SET do UPDATE. +Utilizado na expressão CAST o nulo recebe um tipo de dado específico.

+
+NULL é uma constante sem tipo que representa um valor +desconhecido. +
+ + + +

Expressão de parâmetro dinâmico +Parâmetro dinâmico

+

Permitido em qualquer lugar na expressão onde o tipo de dado pode ser +facilmente deduzido. +Consulte .

+
+Parâmetro dinâmico é o parâmetro de uma instrução SQL +para o qual não é especificado valor quando a instrução é criada. +Em vez disto, a instrução possui um ponto de interrogação (?) marcando a +posição de cada um dos parâmetros dinâmicos. +Consulte . +

Os parâmetros dinâmicos são permitidos apenas em instruções preparadas. +Devem ser especificados valores para os mesmos antes da instrução preparada +ser executada. +Os valores especificados devem corresponder aos tipos esperados.

+
+
+ + +

Expressão CASTExpressão CAST

+Permite especificar o tipo de dado de NULL ou de um parâmetro +dinâmico, ou converter um valor para outro tipo de dado. +Consulte . + +
+ + +

Expressão de subconsulta escalar +Subconsulta escalar

+Uma subconsulta que retorna uma única linha com uma única +coluna. +Consulte . + +
+ + +

Expressão de subconsulta tabela +Subconsulta tabela

+

Permitida como ExpressãoTabela na cláusula FROM, e com EXISTS, IN e +comparações quantificadas.

+
+Uma subconsulta que retorna mais de uma coluna e mais de uma +linha. +Consulte +SubconsultaTabela. + +
+ + + +

Expressão condicional +Expressão condicional

+
+A expressão condicional escolhe a expressão a ser +avaliada baseado em um teste booleano. +
+ +Expressões booleanas +Expressões que resultam em valores booleanos. +A maioria das expressões gerais podem resultar em valores booleanos. +

Geralmente as expressões booleanas usadas na cláusula WHERE são feitas de +operandos operados por operadores SQL. +Consulte .

+
+
+ + +Expressões numéricas +Expressões numéricas + +Expressões que resultam em valores numéricos. +A maioria das expressões gerais podem resultar em valores numéricos. +

Os valores numéricos possuem um dos seguintes tipos de dado:

+

SMALLINT, INTEGER, BIGINT, REAL, DOUBLE PRECISION, DECIMAL.

+
+
+ + + +

+Expressões +, -, *, /, e + - unários +Expressões +, -, *, /, e + - unários

+
++ -, *, /, e + - unários +

Avaliam a operação matemática esperada nos operandos. +Se os dois operandos forem do mesmo tipo, o tipo do resultado não será +promovido, e portanto o operador de divisão em operandos inteiros resulta +em um inteiro que é o truncamento do resultado numérico real. +Quando são misturados tipos de dado diferentes, estes são promovidos conforme +descrito em .

+

O + unário é um não-operador (ou seja, +4 é o mesmo que 4). +O - unário é o mesmo que multiplicar o valor por -1, mudando efetivamente o +sinal.

+
+
+ + +

AVG

+Retorna a média de um conjunto de valores numéricos. + +
+ + +

SUM

+Retorna a soma de um conjunto de valores numéricos. + +
+ + +

Função LENGTHLENGTH

+Retorna o número de caracteres em uma cadeia de caracteres +ou de bits. +Consulte . +
+ + +

LOWER

+Consulte . +
+ + +

COUNT

+Retorna o contagem de um conjunto de valores. +Consulte e +. +
+ + +Expressões de caractere +Expressões de caractere +Expressões que resultam em um valor CHAR ou VARCHAR. +A maioria das expressões gerais podem resultar em um valor CHAR ou VARCHAR. + + + + +

Expressões de cadeia de caracterescom curingas +Um valor CHAR ou VARCHAR que utiliza curingas.

+

Usadas no padrão do LIKE.

+Os caracteres curinga % e _ transformam a cadeia de +caracteres em um padrão com relação ao qual o operador LIKE pode procurar por +uma correspondência. +
+ + +

Função de concatenaçãocomo uma expressão +Expressão de concatenação

+Em uma operação de concatenação, o operador de concatenação, +"||", concatena seu operando à direita ao seu operando à esquerda. +Opera em cadeias de caracteres e de bits. +Consulte . +
+ + +

Funções de cadeia nativas

+As funções de cadeia nativas atuam em uma cadeia e retornam +uma cadeia. +Consulte , +, +, + +e +
+ + +

Funções USER

+As funções USER retornam informações sobre o usuário corrente +na forma de uma cadeia de caracteres. +Consulte , +, +e +
+ +Expressões de data e hora +Expressões de data e hora +Uma expressão data/hora resulta em um valor do tipo +DATE, TIME, ou TIMESTAMP. +A maioria das expressões gerais podem resultar em um valor data/hora. + + + + +

Função CURRENT_DATEcomo uma expressão +CURRENT_DATE

+Retorna a data corrente. +Consulte . + +
+ + + +

Função CURRENT_TIMEcomo uma expressão +CURRENT_TIME

+Retorna a hora corrente. +Consulte . +
+ + + +

Função CURRENT_TIMESTAMPcomo uma expressão +CURRENT_TIMESTAMP

+Retorna o carimbo do tempo corrente. +Consulte . +
+ + +
+

+
+
+
Added: db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj20204.dita URL: http://svn.apache.org/viewcvs/db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj20204.dita?rev=388422&view=auto ============================================================================== --- db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj20204.dita (added) +++ db/derby/docs/trunk/src/pt_BR/ref/rrefsqlj20204.dita Thu Mar 23 23:09:52 2006 @@ -0,0 +1,75 @@ + + + + + +Armazenamento de valores de um tipo de dado numérico em colunas de outro tipo de dado numérico + +
+

A tentativa de colocar um tipo de ponto flutuante com tamanho de +armazenamento maior em um local com tamanho de armazenamento menor falha apenas +se o valor não puder ser armazenado no local com tamanho menor. Por exemplo: +CREATE TABLE MINHA_TABELA (R REAL, D DOUBLE PRECISION); +0 rows inserted/updated/deleted +INSERT INTO MINHA_TABELA (R, D) VALUES (3.4028236E38, 3.4028235E38); +ERRO X0X41: O número '3.4028236E38' está fora da faixa para o tipo de dado REAL. +

+
+
+

Pode ser armazenado um tipo de ponto flutuante em uma coluna INTEGER; +a parte fracionária do número é truncada. Por exemplo: +INSERT INTO MINHA_TABELA(COLUNA_INTEIRA) VALUES (1.09e0); +1 row inserted/updated/deleted +SELECT coluna_inteira +FROM MINHA_TABELA; +I +--------------- +1 + +

+
+
+

Os tipos inteiros sempre podem ser colocados com sucesso em valores +numéricos aproximados, embora com uma possível perda de precisão.

+
+
+

Os inteiros podem ser armazenados em decimais, se a precisão do DECIMAL +for grande o suficiente para o valor. Por exemplo: +ij> INSERT INTO MINHA_TABELA (COLUNA_DECIMAL) +VALUES (55555555556666666666); +ERRO X0Y21: O número '55555555556666666666' está fora da faixa do tipo de dado +de destino DECIMAL/NUMERIC(5,2). + +

+
+
+

A tentativa de colocar um valor inteiro com tamanho de armazenamento maior +em um local com tamanho de armazenamento menor falha apenas se o valor não +puder ser armazenado no local com tamanho menor. Por exemplo: +INSERT INTO MINHA_TABELA (COLUNA_INTEIRA) VALUES 2147483648; +ERRO 22003: O valor resultante está fora da faixa para o tipo de dado INTEGER. + +

+
+
+Ao truncar os dígitos no final do valor NUMERIC, o + +arredonda para baixo. +
+
+