Você está aqui: Cards de AutoCAD Civil 3D |
||
|
||
![]() |
||
PostgreSQL ::: Dicas & Truques ::: Comandos DDL (Data Definition Language - Linguagem de Definição de Dados) |
Como criar uma tabela no PostgreSQL usando o comando DDL CREATE TABLEQuantidade de visualizações: 6702 vezes |
O comando DDL CREATE TABLE do PostgreSQL é usado quando queremos criar uma nova tabela em uma determinada base de dados (e schema). Em geral criamos novas tabelas usando a ferramenta pgAdmin. No entanto, é importante conhecer e dominar este comando de forma a conseguirmos criar tabelas a partir da janela de Query do pgAdmin, do SQL Shell (psql) ou usando uma linguagem de programação. O comando DDL CREATE TABLE contém uma série de cláusulas opcionais. Muitas delas são abordadas nas dicas desta seção. Apenas o nome da tabela a ser criada é obrigatório. Veja o comando CREATE TABLE a seguir: CREATE TABLE produtos(); Este comando criará uma tabela vazia e sem nenhum campo no schema public da base de dados na qual estamos conectados no momento. É claro que uma tabela sem nenhum campo não possui nenhuma utilidade (a não ser que decidamos adicionar os campos mais tarde). Sendo assim, veja um comando CREATE TABLE que cria uma tabela chamada usuarios com os campos: id, nome, senha, data_cadastro: CREATE TABLE usuarios( id serial NOT NULL, nome varchar(20) NOT NULL, senha varchar(20) NOT NULL, data_cadastro date NOT NULL, PRIMARY KEY (id) ); Ao dispararmos o comando, o PostgreSQL nos exibirá a seguinte mensagem: NOTA: CREATE TABLE criará sequência implícita "usuarios_id_seq" para coluna serial "usuarios.id" NOTA: CREATE TABLE / PRIMARY KEY criará índice implícito "usuarios_pkey" na tabela "usuarios" Query returned successfully with no result in 121 ms. Isso é sinal de que a tabela foi criada com sucesso. Para verifirmos e exibirmos os dados da tabela recém-criada, podemos disparar o seguinte comando DML SELECT: SELECT column_name, data_type, is_nullable, character_maximum_length FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'usuarios'; Como resultado teremos: column_name data_type is_nullable character_maximum_length id integer NO nome character varying NO 20 senha character varying NO 20 data_cadastro date NO É importante termos em mente a mensagem de erro que o PostgreSQL exibirá quando tentamos criar uma tabela com um nome de uma já existente na mesma base de dados e schema: NOTA: CREATE TABLE criará sequência implícita "usuarios_id_seq1" para coluna serial "usuarios.id" ERRO: relação "usuarios" já existe ********** Error ********** ERRO: relação "usuarios" já existe SQL state: 42P07 CREATE TABLE IF NOT EXISTS usuarios( id serial NOT NULL, nome varchar(20) NOT NULL, senha varchar(20) NOT NULL, data_cadastro date NOT NULL, PRIMARY KEY (id) ); Agora o PostgreSQL trocará a mensagem de erro pela seguinte mensagem de advertência: NOTA: relação "usuarios" já existe, ignorando Query returned successfully with no result in 14 ms. |
PHP ::: Dicas & Truques ::: URLs, Documentos e Páginas |
PHP para iniciantes - Como obter uma lista completa das variáveis de ambiente disponíveis no servidorQuantidade de visualizações: 10291 vezes |
Nesta dica mostrarei como é possível combinar o vetor de variáveis de ambiente $_SERVER e o laço foreach() da linguagem PHP para obter uma lista completa das variáveis de ambiente disponíveis no servidor web a partir do qual nossos códigos PHP estão sendo executados. Esta técnica é excelente para depuração (debugging) de código PHP. Veja o código PHP completo para o exemplo: <html> <head> <title>Estudando PHP</title> </head> <body> <?php foreach($_SERVER as $env => $valor){ echo $env . " = " . $valor . "<br>"; } ?> </body> </html> Ao executar este código PHP nós teremos um resultado parecido com: SERVER_SOFTWARE = Apache/2.4.46 (Win64) OpenSSL/1.1.1h PHP/8.0.0 SERVER_NAME = localhost SERVER_ADDR = ::1 SERVER_PORT = 80 REMOTE_ADDR = ::1 DOCUMENT_ROOT = C:/xampp/htdocs REQUEST_SCHEME = http CONTEXT_PREFIX = CONTEXT_DOCUMENT_ROOT = C:/xampp/htdocs SERVER_ADMIN = postmaster@localhost SCRIPT_FILENAME = C:/xampp/htdocs/estudos/index.php REMOTE_PORT = 61618 GATEWAY_INTERFACE = CGI/1.1 SERVER_PROTOCOL = HTTP/1.1 REQUEST_METHOD = GET QUERY_STRING = REQUEST_URI = /estudos/index.php SCRIPT_NAME = /estudos/index.php PHP_SELF = /estudos/index.php REQUEST_TIME_FLOAT = 1618495343.0591 REQUEST_TIME = 1618495343 |
Python ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço while do Python - Python para iniciantesQuantidade de visualizações: 15394 vezes |
O laço while da linguagem Python permite executar um bloco de códigos repetidamente até que uma condição seja verdadeira. Opcionalmente, uma cláusula else pode ser usado com o while em Python (a parte else será executada mesmo que o corpo principal do laço não seja executado). Veja um exemplo:# função principal do programa def main(): numero = 0 while numero <= 10: print(numero) numero = numero + 1 else: print("Terminei") if __name__== "__main__": main() Ao executarmos este código Python nós teremos o seguinte resultado: 0 1 2 3 4 5 6 7 8 9 10 Terminei Veja um exemplo de um laço while que nunca será executado: # função principal do programa def main(): numero = 0 while numero > 10: print(numero) numero = numero + 1 if __name__== "__main__": main() E agora um exemplo de laço usando um valor booleano: # função principal do programa def main(): continuar = True valor = 0 while continuar: print(valor) if valor > 5: continuar = False else: valor = valor + 1 if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: 0 1 2 3 4 5 6 |
Lisp ::: Desafios e Lista de Exercícios Resolvidos ::: Lisp Básico |
Exercícios Resolvidos de Lisp - Como somar dois números em Lisp - Escreva um programa Lisp que leia dois números e mostre a sua somaQuantidade de visualizações: 1508 vezes |
Exercício Resolvido de Lisp - Como somar dois números em Lisp - Escreva um programa Lisp que leia dois números e mostre a sua soma Pergunta/Tarefa: Escreva um programa Common Lisp que solicita ao usuário dois números inteiros e mostre a sua soma. Sua saída deverá ser parecida com: Informe o primeiro valor: 2 Informe o segundo valor: 8 A soma é 10 Veja a resolução completa para o exercício em Common Lisp usando o compilador Steel Bank Common Lisp (SBCL), comentada linha a linha: ; Vamos definir as variáveis que vamos ; usar no programa (defvar n1) (defvar n2) (defvar soma) ; Este o programa principal (defun Soma() ; Vamos ler o primeiro valor (princ "Informe o primeiro valor: ") ; talvez o seu compilador não precise disso (force-output) (setq n1 (read)) ; Vamos ler o segundo valor (princ "Informe o segundo valor: ") ; talvez o seu compilador não precise disso (force-output) (setq n2 (read)) ; Agora vamos efetuar a soma dos dois números (setq soma (+ n1 n2)) ; E mostramos o resultado (format t "A soma é ~D" soma) ) ; Auto-executa a função Soma() (Soma) |
Delphi ::: Data Access Controls (Controles de Acesso a Dados) ::: TField e Classes Derivadas |
Como usar a classe TField em seus programas DelphiQuantidade de visualizações: 12410 vezes |
A classe TField (na unit DB) é um ancestral comum de todos os componentes que representam os campos de uma tabela no banco de dados (ou um dataset cujos dados foram carregados de um arquivo do tipo texto, binário ou XML). Esta classe encapsula o comportamento comum a todos os demais componentes to tipo field (campo). Veja sua posição na hierarquia de classes do Delphi: System.TObject Classes.TPersistent Classes.TComponent DB.TField A classe TField apresenta propriedades, eventos e métodos que são usados para as seguintes tarefas: 1) Alterar o valor de um campo em um dataset; 2) Converter o valor de um campo de um tipo para outro tipo; 3) Efetuar validações nos dados informados pelos usuários para determinados campos; 4) Definir como as informações dos campos são mostradas em tempo de exibição ou para edição; 5) Calcular o valor de um campo a partir de código escrito no evento OnCalcFields do dataset; 6) Pesquisar o valor do campo a partir de outro dataset. Em geral não criamos instâncias da classe TField diretamente. Componentes que descendem de TField são criados automaticamente a cada vez que o dataset é ativado. Estes descendentes podem ser dinâmicos (o padrão) ou persistentes. Componentes campos dinâmicos refletem as colunas dos metadados da tabela a qual pertencem no momento que o dataset é aberto. Componentes campos persistentes são criados em tempo de design usando o editor Fields, que especifica os campos no dataset, suas propriedades e a ordem em que deverão estar. A criação de componentes de campos persistentes garante que todas as vezes que uma aplicação for executada, ela usará e exibirá as mesmas colunas, na mesma ordem, até mesmo se a estrutura física da base de dados mudar. Se uma coluna em uma tabela na qual um componente de campo persistente é baseado for excluída ou alterada, o IDE gera uma exceção em vez de permitir a abertura do dataset usando um coluna não existente ou incompatível. Se isso acontecer, devemos remover o camponente field para o campo não existente usando o editor Fields. Um campo (field) em um dataset é sempre tratado como uma das classes descendentes de TField abaixo: TADTField TDateField TReferenceField TAggregateField TDateTimeField TSmallIntField TArrayField TFloatField TSQLTimeStampField TAutoIncField TFMTBCDField TStringField TBCDField TGraphicField TTimeField TBinaryField TGuidField TVarBytesField TBlobField TIDispatchField TVariantField TBooleanField TIntegerField TWideStringField TBytesField TInterfaceField TWordField TCurrencyField TLargeintField TDataSetField TMemoField procedure TForm3.Button3Click(Sender: TObject); var campo: TField; begin // vamos obter o campo com o nome "titulo" do registro atual campo := ClientDataSet1.FieldByName('titulo'); // vamos mostrar o valor do campo ShowMessage('O valor do campo é: ' + campo.AsString); end; Ao executarmos este código teremos um resultado parecido com: "O valor do campo é: Programando em Java". Esta dica foi escrita e testada no Delphi 2009. |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |