sm-orcl
v1.5.5
Published
sm-orcl é uma alternativa simples de executar comandos simples dentro de um banco database Oracle <=12x.
Downloads
48
Maintainers
Readme
Sobre SM-ORCL
É uma alternativa simples de executar comandos simples dentro de um banco database Oracle <= 12.2.0
.
Dependências
Esse pacote só funciona em ambiente
Linux e MacOS
com o SQLClient instalado.É necessário que tenha instalado o cliente SQLPlus correspondente ao seu banco de dados. How to install SQLPlus client
Este pacote foi desenvolvido na versão
v14.8.0
do NodeJS, recomendamos o uso donvm
para selecionar a versão a ser utilizada para melhor experiência, execute o comando:nvm use v14.8.0
em seu terminal.
Instalação
- Execute o comando para obter o pacote.
npm install --save sm-orcl
Usando
- Em seu arquivo realize o import do modulo.
const ORACLE = require('sm-orcl')
const orcl = new ORACLE({
ip_address: '0.0.0.0',
username: 'username',
passowrd: 'password',
service_name: 'servicename',
port: 'port' //Default is 1521
})
Comandos
- keepAliveDb verifica disponibilidade do seu banco de dados.
...
const orcl = new Oracle(dbora.auth)
let response = await orcl.keepAliveDb()
...
- Exemplo de insert
...
const orcl = new Oracle(dbora.auth)
let payload = {
name: 'Fulano Sauro',
idade: 23,
sexo: 'masculino'
}
let response = await orcl.insert({ table: 'ex_user', data: payload, })
...
- Exemplo de insert com varios dados
...
const orcl = new Oracle(dbora.auth)
let payload = [{
name: 'Fulano Sauro',
idade: 23,
sexo: 'masculino'
},
{
name: 'Fulana Exemplado',
idade: 12,
sexo: 'mulher'
}]
let response = await orcl.insert({ table: 'ex_user', data: payload, })
...
Obs: Ele funcionára mesmo que exista 1 objeto dentro de um array. Ex:
data: [ { name: "Fulano" } ]
ou
data: { name: "Fulano" }
- Exemplo de insert com select
...
const orcl = new Oracle(dbora.auth)
let payloadData = {
idade: 23
}
let payload = {
idade: 23,
sexo: 'masculino'
}
let response = await orcl.insertSelect({
tablePrimary: 'ex_user',
columnsPrimary: ["name", "email_address"],
tableSource: 'ex_client',
columnsSource: ["name", "email_address"],
where: { idade: 23 }
})
...
Obs: Caso queira fazer um where mais especifico use handsFreeWhere ao inves do where. Ex:
handsFreeWhere: `idade >= 18 and uf = "RJ"`
- Exemplo de delete com/sem where
- Se informar que
{ deleteAll: false }
vai respeitar a regra do where e se estiver como{ deleteAll: true }
ele irá ignorar o where.
...
const orcl = new Oracle(dbora.auth)
let payload = { id: 1, email_address: "[email protected]" }
let response = await orcl.delete({ table: 'ex_user', deleteAll: false, where: payload })
...
Obs: Caso queira fazer um where mais especifico use handsFreeWhere ao inves do where. Ex:
handsFreeWhere: `idade >= 18 and uf = "RJ"`
- Exemplo de Update com/sem where
- Se informar que
{ updateAll: false }
vai respeitar a regra do where e se estiver como{ updateAll: true }
ele irá ignorar o where.
...
const orcl = new Oracle(dbora.auth)
let payload = { email_address: "[email protected]" }
let response = await orcl.update({ table: 'ex_user', data: payload, updateAll: false, where: { id: 1, email_address: "[email protected]" } })
...
Obs: Caso queira fazer um where mais especifico use handsFreeWhere ao inves do where. Ex:
handsFreeWhere: `idade >= 18 and uf = "RJ"`
- Exemplo de Select
...
const orcl = new Oracle(dbora.auth)
let payload = {
table: "EX_USER",
columns: ["id", "name", "email_address", "modified_date", "created_by"],
where: {
name: "Fulano",
email_address: "[email protected]"
},
}
let response = await orcl.select(payload)
...
Obs: Caso queira fazer um where mais especifico use handsFreeWhere ao inves do where. Ex:
handsFreeWhere: `idade >= 18 and uf = "RJ"`
Exemplo de Select retornando todas as colunas, como se fosse: select * from table_name
- ATENÇÃO: Se colocar columns
[ " * ", "outra_coluna"]
vai retornar error, use sempre[ " * " ]
sozinho!
...
const orcl = new Oracle(dbora.auth)
let payload = {
table: "EX_USER",
columns: ["*"],
where: {
name: "Fulano",
email_address: "[email protected]"
}
}
let response = await orcl.select(payload)
...
Obs1: Caso não seja informado a columns [ " * " ]
mantendo somente table com ou sem where ele retornar todas as colunas.
Ex:
...
let payload = {
table: "EX_USER",
where: {
name: "Fulano",
email_address: "[email protected]"
}
}
...
Obs2: Caso queira fazer um where mais especifico use handsFreeWhere ao inves do where. Ex:
handsFreeWhere: `idade >= 18 and uf = "RJ"`
- Exemplo de select offset (paginação)
...
const orcl = new Oracle(dbora.auth)
let response = await orcl.selectOffSet({
table: "TEST_USER",
columns: ["ID", "NAME"],
offset: 0,
offSetReturn: 50
})
...
Obs: o parametro offset
é o número da página e o offSetReturn
é a quantidade de registros que irá retornar. Lembrando que o valor colocado no offset será a quantidade multiplicada pelo o que foi inserido em offSetReturn, forçando que a quantidade de retorno não repita os mesmo valores.
...
offset: 2, // 1 x 50 = 50 quando for para 2 x 50 = 100 não exibirá os dados dos 50 anteriores.
offSetReturn: 50 // quantidade de registro que irá retornar
...
- Exemplo de execute Procedure
...
const orcl = new Oracle(dbora.auth)
let payload = {
procedure_name: "CREATE_USER",
data: {
name: 'Fulano Sauro',
idade: 23,
sexo: 'masculino'
}
}
let response = await orcl.exec_procedure(payload)
...
- Exemplo de execute Function
...
const orcl = new Oracle(dbora.auth)
let payload = {
function_name: "CREATE_USER",
data: {
name: 'Fulano Sauro',
idade: 23,
sexo: 'masculino'
}
}
let response = await orcl.exec_function(payload)
...
Pague um :coffee:
- Use o PIX, escaneia o QRCode abaixo