Propósito

✔ Programação GLOBAL® - Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog devem ser tratados como consultoria freelance. Queiram contatar-nos: brazilsalesforceeffectiveness@gmail.com | ESTE BLOG NÃO SE RESPONSABILIZA POR QUAISQUER DANOS PROVENIENTES DO USO DOS CÓDIGOS AQUI POSTADOS EM APLICAÇÕES PESSOAIS OU DE TERCEIROS.

.: Vitrine

Carregando artigos...

Views

Mostrando postagens com marcador DDL. Mostrar todas as postagens
Mostrando postagens com marcador DDL. Mostrar todas as postagens

Documentador do dbForge - Série: As Melhores Ferramentas de Documentação de Banco de Dados

Documentador do dbForge - Série: As Melhores Ferramentas de Documentação de Banco de Dados


Ao gerenciar um banco de dados, a documentação nem sempre é a primeira coisa que todos pensam. Além disso, escrever documentação detalhada sobre seus bancos de dados não é tarefa fácil. No entanto, a documentação facilita o acesso a informações importantes mais adiante. Ter um ponto de referência ajudará qualquer pessoa que precise interagir com o banco de dados. Todos, desde arquitetos de banco de dados, desenvolvedores, analistas de negócios e administradores, terão um recurso detalhado para ajudar a entender seus dados.

Por fim, ter um recurso para recorrer significa maior produtividade em sua organização, pois os usuários têm acesso aos dados de que precisam. Usar uma ferramenta de documentação de banco de dados é uma maneira muito eficaz de tornar a documentação.

Só tem tempo para uma rápida olhada? Aqui está a lista das 9 melhores ferramentas de documentação de banco de dados:

Doc ApexSQL Uma ferramenta de documentação de banco de dados para SQL, MySQL, SSIS, SSAS, SSRS e Tableau. Disponível nas versões Developer e DBA.

Documento SQL do RedGate Documenta automaticamente os bancos de dados. Parte do RedGate SQL Toolbelt.

Documentador do dbForge Documentação automatizada para MySQL e MariaDB. Compatível com serviços de banco de dados em nuvem.

Dataedo Cobrindo uma longa lista de sistemas de gerenciamento de banco de dados, esta ferramenta inclui criação de ERD e rastreamento de alterações.

DBScribe Ferramenta de documentação baseada em banco de dados baseada em DDL para MySQL.

SentryOne DOC xPress Um assistente de documentação para o SQL Server. Compre o software imediatamente ou escolha uma assinatura anual.

Documento X da Innovasys Ferramenta de documentação de banco de dados para bancos de dados Oracle, SQL Server, OLE DB e Access.

Database Note Taker - Tomador de Notas do Banco de Dados Visa apoiar os processos de design, criação e manutenção de banco de dados

Separador de código-fonte GenesisOne T-SQL Um gerador de código para permitir a criação automática de script para replicar ou restaurar um banco de dados.

Documentador do dbForge é um ferramenta de criação de documentos para MySQL e MariaDB que cria automaticamente a documentação do banco de dados MySQL. Detalhes Documentador do dbForge puxa de bancos de dados incluem tipos de objetospropriedadesdependências entre objetos, e Códigos DDL. Depois que os dados são retirados do banco de dados, eles podem ser apresentados como HTMLPDF e MARKDOWN arquivos.

A ferramenta é fácil de usar e altamente personalizável. Por exemplo, o usuário pode escolher entre uma variedade de temas e personalizar o layout de documentos individuais. Toda a documentação é pesquisável para que o usuário possa navegar facilmente. Por exemplo, ao digitar um objeto no campo de pesquisa, a interface do usuário destacará qualquer texto correspondente.

Documentador do dbForge é uma solução com alta usabilidade e um preço competitivo. A edição Standard custa US $ 99,95 (£ 77,21) por licença. O software também é compatível com Amazon RDSGoogle CloudAmazon AuroraOracleNuvem MySQL, e Alibaba Cloud. Você pode baixar a avaliação gratuita.

Comente e compartilhe este artigo!

DBScribe - Série: As Melhores Ferramentas de Documentação de Banco de Dados

DBScribe - Série: As Melhores Ferramentas de Documentação de Banco de Dados


Ao gerenciar um banco de dados, a documentação nem sempre é a primeira coisa que todos pensam. Além disso, escrever documentação detalhada sobre seus bancos de dados não é tarefa fácil. No entanto, a documentação facilita o acesso a informações importantes mais adiante. Ter um ponto de referência ajudará qualquer pessoa que precise interagir com o banco de dados. Todos, desde arquitetos de banco de dados, desenvolvedores, analistas de negócios e administradores, terão um recurso detalhado para ajudar a entender seus dados.

Por fim, ter um recurso para recorrer significa maior produtividade em sua organização, pois os usuários têm acesso aos dados de que precisam. Usar uma ferramenta de documentação de banco de dados é uma maneira muito eficaz de tornar a documentação.

Só tem tempo para uma rápida olhada? Aqui está a lista das 9 melhores ferramentas de documentação de banco de dados:

Doc ApexSQL Uma ferramenta de documentação de banco de dados para SQL, MySQL, SSIS, SSAS, SSRS e Tableau. Disponível nas versões Developer e DBA.

Documento SQL do RedGate Documenta automaticamente os bancos de dados. Parte do RedGate SQL Toolbelt.

Documentador do dbForge Documentação automatizada para MySQL e MariaDB. Compatível com serviços de banco de dados em nuvem.

Dataedo Cobrindo uma longa lista de sistemas de gerenciamento de banco de dados, esta ferramenta inclui criação de ERD e rastreamento de alterações.

DBScribe Ferramenta de documentação baseada em banco de dados baseada em DDL para MySQL.

SentryOne DOC xPress Um assistente de documentação para o SQL Server. Compre o software imediatamente ou escolha uma assinatura anual.

Documento X da Innovasys Ferramenta de documentação de banco de dados para bancos de dados Oracle, SQL Server, OLE DB e Access.

Database Note Taker - Tomador de Notas do Banco de Dados Visa apoiar os processos de design, criação e manutenção de banco de dados

Separador de código-fonte GenesisOne T-SQL Um gerador de código para permitir a criação automática de script para replicar ou restaurar um banco de dados.

DBScribe é um ferramenta de documentação de banco de dados para SQL Server que suporta formatos como HTMLFormato de Ajuda HTML da Microsoft, e Microsoft Word. O programa usa Código DDL / XMLA para documentar seu banco de dados. Você pode interagir com a ferramenta por meio de um assistente e uma interface de linha de comando, o que ajuda a acelerar o processo de criação da documentação.

Há também modelos personalizáveis você pode usar para criar documentos profissionais para compartilhar com outros membros da sua equipe. Você também pode salvar perfis personalizados para usar em documentos futuros. Esses recursos oferecem um alto grau de controle sobre como a documentação é apresentada.

Quando se trata de gerenciar tabelas, DBSribe possui um editor de descrição. O editor de descrição permite gerenciar elementos como tabelascolunasíndicesgatilhoschaves, e mais de um local.

Se você está procurando uma ferramenta fácil de usar e com preços competitivos, DBScribe marca todas as caixas. O DBScribe 1.4 para SQL Server custa US $ 99 (£ 76,44) por licença. Existem outras versões do DBScribe disponível para Oracle, MySQL, PostgreSQL e DB2. Há também uma avaliação gratuita de 30 dias.

Comente e compartilhe este artigo!

VBA Access Advanced - Usando o DDL - Data Definition Language.


Exemplos de Código com o DDL

SQL padrão é uma sublinguagem utilizada no MS Access para lidar com os dados, tabelas, querys, etc...

Objeto
Tipo
Tabela
1
Query
5
Tabela Conectada 
4, 6, or 8
Formulário
-32768
Relatório
-32764
Módulo
-32761

  • Data Manipulation Language (DML)O comando SELECT e queries de ação (DELETE, UPDATE, INSERT INTO, ...)


  • Data Definition Language (DDL)Comandos que alterem o "schema" (Mudando tabelas, campos, índices, relações, queries, etc.)

Usando o DML para queries, poderemos ler alguns aspectos do "schema" do banco de dados.

Poderá listar os objetos na base de dados Access como abaixo: 

SELECT MSysObjects.Type, MSysObjects.Name FROM MSysObjects WHERE MSysObjects.Name Not Like "~*" ORDER BY MSysObjects.Type, MSysObjects.Name;

Onde Type poderá colocar um dos valores da tabela acima. (Infelizmente, o modo provido pelo DML não é o caminho mais fácil para se ler os nomes dos campos nas tabelas.)

DDL provê outras características de intervenção como:

  • CREATE TABLE para gerar uma nova tabela, especificando os nomes dos campos, tipos, e constraints.


  • ALTER TABLE para adicionar uma coluna para a tabela, deletar uma coluna na tabela, ou mudar a tabela como tipo e tamanho da mesma.


  • DROP TABLE para deletar uma tabela.

Similarmente, você pode aplicar o comandos CREATE/ALTER/DROP em outras coisas tais como índicesconstraintsviews e procedures (queries), usuário e grupos (segurança.)

Enquanto o DDL é importante para algumas bases de dados enormes, ele é limitado no uso com o MS Access. Você pode criar um campo Texto, mas não pode configurá-lo com a propriedade Largura Diferente de Zero, ou características similares. Pode criar um campo Yes/No, mas não pode dizer que o dataentry ocorrerá por meio de um text box, ou um check box. Também poderá criar um campo Date/Time, mas não poderá configurar a sua propriedade Format. DDL não pode criar campos Hyperlink, ou campos Attachment.

Poderá executar uma query DDL sob o DAO ou ADO.

Parar DAO, use: dbEngine(0)(0).Execute strSql, dbFailOnError
Parar ADO, use: CurrentProject.Connection.Execute strSql

Algumas características do JET 4 (Access 2000 e superior) são suportados somente sob o ADO.

Uma situação na qual o DDL é realmente utilizável é quanto a mudança do Tipo ou Tamanho dos campos. Você não pode fazer isto com o DAO ou ADOX, utilizar o DDL é a técnica mais prática para estes fins. Obviamente existem outras saídas mais trabalhosas e incoerentes pelo simples fato de serem mais demoradas tanto na implementação quanto na execução.

Abaixo disponibilizo alguns exemplos para que você possa iniciar-se nas técnicas de utilização do DDL.
Índice das Funções
Descrição
CreateTableDDL()
Cria duas tabelas, seus índices e relacionamentos, ilustrando os diferentes tipos de campos suas propriedades configuradas.
CreateFieldDDL()
Ilustra como adicionar um campo para uma tabela.
CreateFieldDDL2()
Adiciona um campo a uma tabela em outra base de dados.
CreateViewDDL()
Cria uma nova query.
DropFieldDDL()
Deleta o campo de uma tabela.
ModifyFieldDDL()
Muda o tipo ou tamanho de um campo. (Este é o mais comum uso do DDL.)
AdjustAutoNum()
Configura o start da AutoNumeração.
DefaultZLS()
Cria um campo que tem por default ser uma stringque não suporta ficar vazia.

  
Option Compare Database
Option Explicit
  
Sub CreateTableDDL()
     Dim cmd As New ADODB.Command
     Dim strSql As String
  
   Let cmd.ActiveConnection = CurrentProject.Connection
  
   'Cria o "Contractor" na tabela.
    
   Let strSql = "CREATE TABLE tblDdlContractor " & _           "(ContractorID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, " & _         "Surname TEXT(30) WITH COMP NOT NULL, " & _           "FirstName TEXT(20) WITH COMP, " & _           "Inactive YESNO, " & _         "HourlyFee CURRENCY DEFAULT 0, " & _         "PenaltyRate DOUBLE, " & _           "BirthDate DATE, " & _         "EnteredOn DATE DEFAULT Now(), " & _           "Notes MEMO, " & _         "CONSTRAINT FullName UNIQUE (Surname, FirstName));"       
         "(ContractorID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, " & _
       "Surname TEXT(30) WITH COMP NOT NULL, " & _
    
       "FirstName TEXT(20) WITH COMP, " & _
           "Inactive YESNO, " & _
       "HourlyFee CURRENCY DEFAULT 0, " & _
       "PenaltyRate DOUBLE, " & _
    
       "BirthDate DATE, " & _
         "EnteredOn DATE DEFAULT Now(), " & _
         "Notes MEMO, " & _
       "CONSTRAINT FullName UNIQUE (Surname, FirstName));"
    
   Let cmd.CommandText = strSql       cmd.Execute       Debug.Print "tblDdlContractor criada."         'Cria a tabela de Booking.     
  
   cmd.Execute
  
   Debug.Print "tblDdlContractor criada."
    
   'Cria a tabela de Booking.
   Let strSql = "CREATE TABLE tblDdlBooking " & _           "(BookingID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, " & _         "BookingDate DATE CONSTRAINT BookingDate UNIQUE, " & _         "ContractorID LONG REFERENCES tblDdlContractor (ContractorID) " & _           "ON DELETE SET NULL, " & _         "BookingFee CURRENCY, " & _         "BookingNote TEXT (255) WITH COMP NOT NULL);"       
  
       "(BookingID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, " & _
       "BookingDate DATE CONSTRAINT BookingDate UNIQUE, " & _
         "ContractorID LONG REFERENCES tblDdlContractor (ContractorID) " & _
  
       "ON DELETE SET NULL, " & _
         "BookingFee CURRENCY, " & _
       "BookingNote TEXT (255) WITH COMP NOT NULL);"
  
   Let cmd.CommandText = strSql       cmd.Execute       Debug.Print "tblDdlBooking criado."  End Sub    Sub CreateFieldDDL()      Dim strSql As String     Dim db As DAO.Database           
     cmd.Execute
  
   Debug.Print "tblDdlBooking criado."
  End Sub
  
Sub CreateFieldDDL()
      Dim strSql As String
   Dim db As DAO.Database
    
   Let Set db = CurrentDb()     
   Let strSql = "ALTER TABLE MyTable ADD COLUMN MyNewTextField TEXT (5);"       db.Execute strSql, dbFailOnError       Set db = Nothing       Debug.Print "MyNewTextField adicionado para MyTable"  End Sub    Function CreateFieldDDL2()       Dim strSql As String     Dim db As DAO.Database         Set db = CurrentDb()       
  
   db.Execute strSql, dbFailOnError
    
   Set db = Nothing
  
   Debug.Print "MyNewTextField adicionado para MyTable"
  End Sub
  
Function CreateFieldDDL2()
       Dim strSql As String
   Dim db As DAO.Database
  
   Set db = CurrentDb()
  
   Let strSql = "ALTER TABLE Table IN 'C:\A&A\Junkki.mdb' ADD COLUMN MyNewField TEXT (5);"       db.Execute strSql, dbFailOnError       Set db = Nothing       Debug.Print "MyNewField Adicionado!"  End Function    Function CreateViewDDL()       Dim strSql As String         
  
   db.Execute strSql, dbFailOnError
    
   Set db = Nothing
  
   Debug.Print "MyNewField Adicionado!"
  End Function
  
Function CreateViewDDL()
       Dim strSql As String
  
   Let strSql = "CREATE VIEW qry1 as SELECT tblInvoice.* from tblInvoice;"       CurrentProject.Connection.Execute strSql  End Function    Sub DropFieldDDL()      Dim strSql As String         
  
   CurrentProject.Connection.Execute strSql
  End Function
  
Sub DropFieldDDL()
      Dim strSql As String
  
   Let strSql = "ALTER TABLE [MyTable] DROP COLUMN [DeleteMe];"       DBEngine(0)(0).Execute strSql, dbFailOnError  End Sub    Sub ModifyFieldDDL()     Dim strSql As String         
  
   DBEngine(0)(0).Execute strSql, dbFailOnError
  End Sub
  
Sub ModifyFieldDDL()
     Dim strSql As String
  
   Let strSql = "ALTER TABLE MyTable ALTER COLUMN MyText2Change TEXT(100);"       DBEngine(0)(0).Execute strSql, dbFailOnError  End Sub    Function AdjustAutoNum()     Dim strSql As String         
  
   DBEngine(0)(0).Execute strSql, dbFailOnError
  End Sub
  
Function AdjustAutoNum()
     Dim strSql As String
  
   Let strSql = "ALTER TABLE MyTable ALTER COLUMN ID COUNTER (1000,1);"       CurrentProject.Connection.Execute strSql  End Function    Function DefaultZLS()      Dim strSql As String         
  
   CurrentProject.Connection.Execute strSql
  End Function
  
Function DefaultZLS()
      Dim strSql As String
  
   Let strSql = "ALTER TABLE MyTable ADD COLUMN MyZLSfield TEXT (100) DEFAULT """";"       CurrentProject.Connection.Execute strSql  End Function
  
   CurrentProject.Connection.Execute strSql
  End Function


Tags: VBA, Acces, DDL, DML, DAO, ADO, CREATE, ALTER,DROP,índices, constraints, views e procedures,queries, usuário, grupos, users, groups, index, JET 4, ADOX



VBA Access - Exemplos de Códigos DDL/DML

training_header.jpg


O SQL padrão é a sublinguagem utilizada no MS Access para lidar com os dados, tabelas, querys, etc...


Objeto Tipo
Tabela 1
Query 5
Tabela Conectada 4, 6, or 8
Formulário -32768
Relatório -32764
Módulo -32761

Data Manipulation Language (DML): O comando SELECT e queries de ação (DELETE, UPDATE, INSERT INTO, ...)

Data Definition Language (DDL): Comandos que alterem o "schema" (Mudando tabelas, campos, índices, relações, queries, etc.)

Usando o DML para queries, poderemos ler alguns aspectos do "schema" do banco de dados.

Poderá listar os objetos na base de dados Access com o código abaixo:

SELECT MSysObjects.Type, MSysObjects.Name
FROM MSysObjects
WHERE MSysObjects.Name Not Like "~*"
ORDER BY MSysObjects.Type, MSysObjects.Name

Onde Type poderá colocar um dos valores da tabela acima. (Infelizmente, o modo provido pelo DML não é o caminho mais fácil para se ler os nomes dos campos nas tabelas.)

DDL provê outras características de intervenção como:

CREATE TABLE para gerar uma nova tabela, especificando os nomes dos campos, tipos, e constraints.
CREATE TABLE TestAllTypes ( MyText TEXT(50), MyMemo MEMO, MyByte BYTE, MyInteger INTEGER, MyLong LONG, MyAutoNumber COUNTER, MySingle SINGLE, MyDouble DOUBLE, MyCurrency CURRENCY, MyReplicaID GUID, MyDateTime DATETIME, MyYesNo YESNO, MyOleObject LONGBINARY, MyBinary BINARY(50) )
    (  MyText       TEXT(50),
       MyMemo       MEMO,
       MyByte       BYTE,
       MyInteger    INTEGER,
       MyLong       LONG,
       MyAutoNumber COUNTER,
       MySingle     SINGLE,
       MyDouble     DOUBLE,
       MyCurrency   CURRENCY,
       MyReplicaID  GUID,
       MyDateTime   DATETIME,
       MyYesNo      YESNO,
       MyOleObject  LONGBINARY,
       MyBinary     BINARY(50)
     )
dl_access_ddl_image002.jpg

Impeça a aparição dessa mensagem utilizando: DoCmd.SetWarnings False

dl_access_ddl_image003.jpg

ALTER TABLE para adicionar uma coluna para a tabela, deletar uma coluna na tabela, ou mudar a tabela como tipo e tamanho da mesma.

DROP TABLE para deletar uma tabela.

Similarmente, você pode aplicar o comandos CREATE/ALTER/DROP em outras coisas tais como índices, constraints, views e procedures (queries), usuário e grupos (segurança.)

 CREATE INDEX MyDateTimeIndex ON TestAllTypes ([MyDateTime] ASC)
 CREATE UNIQUE INDEX MyTextUniqueIndex ON TestAllTypes ([MyText] ASC)
 DROP INDEX MyTextUniqueIndex ON TestAllTypes  
 ALTER TABLE TestAllTypes DROP COLUMN MyBinary    
 ALTER TABLE TestAllTypes ADD COLUMN ExtraInfo Text(255)

Enquanto o DDL é importante para algumas bases de dados enormes, ele é limitado no uso com o Access. Você pode criar campo Texto, mas não pode configurá-lo com a propriedade Largura Diferente de Zero, ou características similares. Pode criar um campo Yes/No, mas não pode dizer que o dataentry ocorrerá por meio de um textbox, ou de um checkbox. Também poderá criar um campo Date/Time, mas não poderá configurar a sua propriedade Format. DDL não pode criar campos Hyperlink, campos Attachment.

Poderá executar uma query DDL sob o DAO ou ADO.

Para DAO, use:
dbEngine(0)(0).Execute strSql, dbFailOnError

Para ADO, use:
CurrentProject.Connection.Execute strSql

Algumas características do JET 4 (Access 2000 e superior) são suportados somente sob o ADO.

Uma situação na qual o DDL é realmente utilizável é quanto a mudança do Tipo ou Tamanho dos campos. Você não pode fazer isto com o DAO ou ADOX, utilizar o DDL é a técnica mais prática para estes fins. Obviamente existem outras saídas mais trabalhosas e incoerentes pelo simples fato de serem mais demoradas tanto na implementação quanto na execução.

Abaixo disponibilizo alguns exemplos para que você possa iniciar-se nas técnicas de utilização do DDL.

Índice das Funções Descrição

CreateTableDDL() Cria duas tabelas, seus índices e relacionamentos, ilustrando os diferentes tipos de campos suas propriedades configuradas.

CreateFieldDDL() Ilustra como adicionar um campo para uma tabela.

CreateFieldDDL2() Adiciona um campo a uma tabela em outra base de dados.

CreateViewDDL() Cria uma nova query.

DropFieldDDL() Deleta o campo de uma tabela.

ModifyFieldDDL() Muda o tipo ou tamanho de um campo. (Este é o mais comum uso do DDL.)

AdjustAutoNum() Configura o start da AutoNumeração.

DefaultZLS() Cria um campo que tem por default ser uma stringque não suporta ficar vazia.


Option Compare Database
Option Explicit

Sub CreateTableDDL()
Dim cmd As New ADODB.Command
Dim strSql As String

Let cmd.ActiveConnection = CurrentProject.Connection

'Cria o "Contractor" na tabela.

Let strSql = "CREATE TABLE tblDdlContractor " & _
"(ContractorID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, " & _
"Surname TEXT(30) WITH COMP NOT NULL, " & _

"FirstName TEXT(20) WITH COMP, " & _
"Inactive YESNO, " & _
"HourlyFee CURRENCY DEFAULT 0, " & _
"PenaltyRate DOUBLE, " & _

"BirthDate DATE, " & _
"EnteredOn DATE DEFAULT Now(), " & _
"Notes MEMO, " & _
"CONSTRAINT FullName UNIQUE (Surname, FirstName));"

Let cmd.CommandText = strSql

cmd.Execute

Debug.Print "tblDdlContractor criada."

'Cria a tabela de Booking.
Let strSql = "CREATE TABLE tblDdlBooking " & _

"(BookingID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, " & _
"BookingDate DATE CONSTRAINT BookingDate UNIQUE, " & _
"ContractorID LONG REFERENCES tblDdlContractor (ContractorID) " & _

"ON DELETE SET NULL, " & _
"BookingFee CURRENCY, " & _
"BookingNote TEXT (255) WITH COMP NOT NULL);"

Let cmd.CommandText = strSql
cmd.Execute

Debug.Print "tblDdlBooking criado."
End Sub

Sub CreateFieldDDL()
Dim strSql As String
Dim db As DAO.Database

Let Set db = CurrentDb()
Let strSql = "ALTER TABLE MyTable ADD COLUMN MyNewTextField TEXT (5);"

db.Execute strSql, dbFailOnError

Set db = Nothing

Debug.Print "MyNewTextField adicionado para MyTable"
End Sub

Function CreateFieldDDL2()
Dim strSql As String
Dim db As DAO.Database

Set db = CurrentDb()

Let strSql = "ALTER TABLE Table IN 'C:\A&A\Junkki.mdb' ADD COLUMN MyNewField TEXT (5);"

db.Execute strSql, dbFailOnError

Set db = Nothing

Debug.Print "MyNewField Adicionado!"
End Function

Vamos aos testes !!!



Tags: Access, SQL, query, queries, DML, DDL,índices, constraints, views, procedures, CREATE, ALTER,DROP, DAO, ADO, ADOX, CreateTableDDL, CreateFieldDDL, CreateFieldDDL2, CreateViewDDL, DropFieldDDL, ModifyFieldDDL, AdjustAutoNum, DefaultZLS

André Luiz Bernardes
A&A® - Work smart, not hard.


diHITT - Notícias