.Net developer
Mostrando postagens com marcador bd. Mostrar todas as postagens
Mostrando postagens com marcador bd. Mostrar todas as postagens

SQL Statement Generator for Table-Mirror

Voilà, script t-sql para gerar os comandos de INSERT e/ou UPDATE, em SQL, para cada uma das linhas já gravadas em determinada tabela.



Transforma isso....

.. nisso:


Parametrização

Só com os comandos UPDATE..

SET @SE_NAO_EXISTE = 0
SET @BATCH_UPDATE = 1
SET @BATCH_INSERT = 0



Verificando se a chave já existe, para gerar o script de atualizar (update) ou inserir a linha (insert):

SET @SE_NAO_EXISTE = 1
SET @BATCH_UPDATE = 1
SET @BATCH_INSERT = 1





download do script

Procedure inteligente

Como criar uma procedure inteligente, com filtros por todos os campos da tabela, opção de escolher quais colunas devem ser trazidas e como devem ser ordenados os registros.

Flexibidade total, pois funciona facilmente para necessidades distintas como:
  • pesquisar um cliente pelo seu ID (chave) e trazer todos seus dados
  • relatório de clientes cadastrados, com todos os dados da tabela, ordenando por ID.
  • listagem dos clientes, trazendo apenas ID e Nome para abastecer um combobox, por exemplo.





CREATE PROCEDURE [dbo].[STP_CLIENTE_LISTAR]
@ordenacao varchar(100) = null,
@colunas varchar(1000) = null,
@id_cliente int = null ,
@nm_fantasia varchar(30) = null ,
@nr_cnpj_cpf varchar(14) = null
AS
BEGIN

DECLARE @comando varchar(8000)

if @colunas is null
begin
SET @colunas = ' id_cliente ,
nm_cliente ,
nm_fantasia ,
nr_cnpj_cpf '
end

SET @comando =
'
SELECT ' + @colunas + '
FROM TB_CLIENTE
WHERE id_cliente = id_cliente '

--FILTROS
IF @nm_fantasia is not null
BEGIN
IF @nm_fantasia = ''
BEGIN
SET @comando = @comando + ' AND nm_fantasia is null '
END
ELSE
BEGIN
SET @comando = @comando + ' AND nm_fantasia = ''' + @nm_fantasia + ''''
END
END

IF @id_cliente is not null
BEGIN
IF @id_cliente = ''
BEGIN
SET @comando = @comando + ' AND id_cliente is null '
END
ELSE
BEGIN
SET @comando = @comando + ' AND id_cliente = ' + CAST(@id_cliente AS VARCHAR(10))
END
END

IF @nr_cnpj_cpf is not null
BEGIN
IF @nr_cnpj_cpf = ''
BEGIN
SET @comando = @comando + ' AND nr_cnpj_cpf is null '
END
ELSE
BEGIN
SET @comando = @comando + ' AND nr_cnpj_cpf = ''' + @nr_cnpj_cpf + ''''
END
END

---ORDENACAO
IF @ordenacao IS NOT NULL
BEGIN
SET @comando = @comando + ' ORDER BY ' + @ordenacao
END
ELSE
BEGIN
SET @comando = @comando + ' ORDER BY NM_CLIENTE'
END
EXECUTE(@comando)

END






Chave composta com SubSonic

Select qry = new Select();
qry.From(DAL.Tabela)
.Where(DAL.Tabela.Chave1).isEqualTo(valor1)
.And(DAL.Tabela.Chave2).isEqualTo(valor2);

DAL.Tabela oTabela = qry.ExecuteSingle<DAL.Tabela>();

oTabela.CampoTexto = "Novo valor";
oTabela.Save();


Meu Model Entity Relationship

FWCommerce

Criando relacionamentos

ALTER TABLE [dbo].[TB_TABELAFILHA] WITH CHECK ADD CONSTRAINT
[FK_TB_TABELAFILHA_TB_TABELAPAI] FOREIGN KEY([ID_FK_PAI])
REFERENCES [dbo].[TB_TABELAPAI] ([ID_PK_PAI])
GO

quase pronto

tabela LOJA.. a principal do meu framework de ecommerce! Em breve. nas lojas.