Histórico da Página
...
Bloco de código | ||
---|---|---|
| ||
TCAlter( < cTable >, < aEstruturaAtual >, < aEstruturaNova >, [ @nErro ] ) |
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
cTable | caractere | Indica o nome da tabela que será alterada. | X | |
aEstruturaAtual | vetor | Indica o array que contém as informações dos campos atuais da tabela. | X | |
aEstruturaNova | vetor | Indica o array que contém a nova estrutura desejada para a tabela. | X | |
nErro | numérico | Caso ocorra algum erro na alteração da estrutura, o número do erro do DBAccess será retornado através desta variável. | X |
Retorno
Nome | Tipo | Descrição |
---|---|---|
lRet | lógico | Retorna .T. se a alterção for realizada com sucesso, caso contrário, retorna .F. |
Informações | |||||||
---|---|---|---|---|---|---|---|
| |||||||
| |||||||
| |||||||
A partir do DBAccess 20.1.1.0 é possível realizar alterações estruturais de forma online, isto é, para inclusão de colunas ou alteração de tamanho de colunas não será necessário acesso exclusivo a tabela, podendo executar afunção TCAlter mesmo que a tabela esteja em uso por outra conexão. |
...
determina internamente as ações a serem tomadas para adequar a estrutura atual para a nova estrutura informada, mantendo os dados na tabela. Nesta operação, dependendo do SGDB em questão, um ou mais índices existentes para a tabela podem ser apagados para que a operação seja completa. Ao comparar as estruturas, são determinadas originalmente quatro ações para cada campo da estrutura
|
Exemplos
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
USER FUNCTION ex_TCAlter()
Local cTableNAme := "TTABLE"
Local nTopErr := NIL
// conecta com o dbaccess
nStatus := TCLink("POSTGRES/teste","192.168.189.128")
If nStatus < 0
UserException("TOPCONN - Falha de conexao ["+str(nStatus,4)+"]")
Endif
// Array com a antiga estrutura
aStru := {}
aadd(aStru,{"CPO01","N",8,0})
aadd(aStru,{"CPO02","N",10,0})
aadd(aStru,{"CPO03","D",8,0})
// Cria a tabela para o teste
DbCreate(cTableName,aStru,"TOPCONN")
// Array com a nova estrutura
aNewStru := {}
aadd(aNewStru,{"CPO01","C",8,0})
aadd(aNewStru,{"CPO02","N",10,0})
aadd(aNewStru,{"CPO03","D",8,0})
bRet := TCAlter(cTableNAme,aStru,aNewStru, @ nTopErr)
If !bRet
MsgInfo(tcsqlerror(),"Erro no TCAlter!")
Endif
RETURN
|
...