Ir para conteúdo

Posts Recomendados

 

Criando Tabelas com Comandos SQL




Bom, a princípio, creio que todos saibam o que seja Criar Tabelas, certo?



Então, pode ser que em alguns casos, seja necessário que isto seja feito durante o codigo asp, com nomes dinâmicos, campos dinâmicos, e tudo mais.

Imaginem um exemplo:

Um sistema parecido com WEBMAIL.
Sempre que um novo usuário é cadastrado, é criado uma nova tabela com o nome dele, e com as pastas 'padrões', como Caixa de Entrada, Saída.
Então, pensem só..

Se nao existisse tal comando, para criar dinâmicamente, toda vez que alguem se cadastrasse, o administrador teria que abrir o banco, criar a tabela, adicionar os campos padrões. Imaginem isto para 100 usuários. Mão de obra.. né?

E foi por isso que corri atrás, para descobrir como criar tabelas direto, pelo SQL.

Bom. Chega de blah blah blah, e vamos ao que interessa.

Estes códigos, e sintaxes, eu testei apenas no Banco de dados ACCESS.
Portanto, não me responsabilizo, caso não funcione com outros tipos de banco de dados.

Vamos partir do Princípio:



Passo 1: Conectar ao Banco de dados




 

url_conexao = Server.MapPath("banco.mdb")


set conexao = Server.CreateObject("ADODB.Connection")
conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao

 



Não vou entrar em detalhes de como é feita a conexão.. esta é uma forma, porém existem mais tipos.

Com a conexão feita, podemos criar o SQL, que criará a tabela.


Passo 2: Montando o SQL



 

SQL = "CREATE TABLE nome_tabela (campo1 AutoIncrement, campo2 char(50), campo3 integer, Primary Key(campo1) )"

 




Vamos entender o SQL acima:


- CREATE TABLE : são comandos do SQL, que fazem a criação da tabela. Estes nunca mudam!
- nome_tabela : é o nome da tabela que será criada. Pode ser uma variável, vinda de um formulario.
- ( : isto é um parentese mesmo. Ele inicia a definição de campos. E deve ser fechado, antes do término do SQL.
- campo1: é o nome do campo que será criado.
- AutoIncrement : é o tipo de campo que será criado. Este, é AutoNumeração. Mas pode ser Texto, Numero, Data,Etc ..
- Primary Key (campo1): aqui estamos dizendo qual é a chave primária da tabela. Entre Parênteses, vai o nome do campo que será chave primaria.
- ) : aqui fechamos o parêntese, de definição dos campos da tabela.

Bem, após o Passo2, a tabela foi criada com sucesso, ou não. Pois, pode ser que ela já exista, e tenha dado erro. Para isto, podemos usar o Passo 3!


Passo3: Testando se a tabela já existe!



 

adSchemaTables = 20


Set rsTabs = conexao.OpenSchema(adSchemaTables)

tabela = false
Do while not rsTabs.EOF
if rsTabs("TABLE_TYPE") = "TABLE" then
if rsTabs("TABLE_NAME") = "nome_tabela" then
tabela = true
end if
end if
rsTabs.MoveNext
Loop

if tabela = false then
Response.Write "A tabela não existe"
else
Response.Write "A tabela existe!"
end if

 



Então, vamos tentar entender.

A variavel tabela é inicializada com FALSE. Ela somente será TRUE, caso a tabela já exista!
Pois, dentro do LOOP, estamos passando por todas as tabelas existentes, testando se alguma delas é igual à que vamos criar!

Bom, é isso aguarde mais tutoriais em SQL.


Creditos


 

Sistema 100% feito por Junior "meu rl".


Organização e explicação XPaulo.

 

Editado por Mudrock
Link para o comentário
https://xtibia.com/forum/topic/44820-criando-tabelas-com-comandos-sql/
Compartilhar em outros sites

Não tem nexo o conteúdo postado com seu objetivo. Pelo que vi há códigos em ASP e nada de SQL realmente, e sim ASP com ACCESS.

Portanto, movido para ASP.

Link para o comentário
https://xtibia.com/forum/topic/44820-criando-tabelas-com-comandos-sql/#findComment-265762
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...