Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: A Arte (e Desafio) de Dialogar com a IA: Mais Inteligência, Menos "Burrice"?

_Créditos das imagens: ChatGPT (DALL·E) ** A Arte (e Desafio) de Dialogar com a IA: Mais Inteligência, Menos "Burrice"? Recentemente, me deparei com um exemplo fascinante da capacidade das IAs generativas: um prompt detalhado que resultou na criação de um jogo 3D de labirinto com um soldado (você pode ver a versão em português do prompt/projeto aqui: [naldodj-3DMazeGameWithSoldier](https://raw.githubusercontent.com/naldodj/naldodj-3DMazeGameWithSoldier/refs/heads/main/README.md), baseado no original de [@nobody_qwert no X](https://x.com/nobody_qwert/status/1893584330095509843)). O resultado é impressionante, mas o que realmente me chamou a atenção foi a **complexidade e o detalhamento do prompt** necessário para chegar lá. Isso ilustra perfeitamente um ponto crucial: fazer a IA gerar *exatamente* o que queremos, seja código complexo ou texto coeso e específico, não é trivial. Exige clareza, precisão, antecipação de ambiguidades e, muitas vezes, várias iterações. É a chamad...

[BlackTDN] :: Identificando as marcações ímpares na tabela SP8

1) A consulta das marcações impares;
2) A "deleção lógica" dos registros impares;

Segue:

1) Para consultar as marcações impares:

------------------------------------------------------------------------------------------------
SELECT SP8.P8_FILIAL
      ,SP8.P8_MAT
      ,SP8.P8_PAPONTA
      ,SP8.P8_ORDEM
  FROM SP8010 SP8
WHERE SP8.D_E_L_E_T_=' '
GROUP BY SP8.P8_FILIAL
        ,SP8.P8_MAT
        ,SP8.P8_PAPONTA
        ,SP8.P8_ORDEM
HAVING ((COUNT(*)%2)=1)
ORDER BY 1,2,3,4
------------------------------------------------------------------------------------------------
2) Para a "Deleção Lógica" das marcações impares:

UPDATE SP8_U
    SET SP8_U.D_E_L_E_T_='*'
FROM
  SP8010 SP8_U
  INNER JOIN
  (
      SELECT SP8.P8_FILIAL
            ,SP8.P8_MAT
            ,SP8.P8_PAPONTA
            ,SP8.P8_ORDEM
      FROM SP8010 SP8
    WHERE SP8.D_E_L_E_T_=' '
    GROUP BY SP8.P8_FILIAL
            ,SP8.P8_MAT
            ,SP8.P8_PAPONTA
            ,SP8.P8_ORDEM
    HAVING ((COUNT(*)%2)=1)
   ) SP8_R
   ON  SP8_U.P8_FILIAL=SP8_R.P8_FILIAL
  AND SP8_U.P8_MAT=SP8_R.P8_MAT
  AND SP8_U.P8_PAPONTA=SP8_R.P8_PAPONTA
  AND SP8_U.P8_ORDEM=SP8_R.P8_ORDEM
WHERE SP8_U.D_E_L_E_T_=' ' 

OU
------------------------------------------------------------------------------------------------
MERGE INTO
  SP8010 SP8_U
USING
  (
      SELECT SP8.P8_FILIAL
            ,SP8.P8_MAT
            ,SP8.P8_PAPONTA
            ,SP8.P8_ORDEM
      FROM SP8010 SP8
    WHERE SP8.D_E_L_E_T_=' '
    GROUP BY SP8.P8_FILIAL
            ,SP8.P8_MAT
            ,SP8.P8_PAPONTA
            ,SP8.P8_ORDEM
    HAVING ((COUNT(*)%2)=1)
  ) SP8_R
ON  SP8_U.P8_FILIAL=SP8_R.P8_FILIAL
AND SP8_U.P8_MAT=SP8_R.P8_MAT
AND SP8_U.P8_PAPONTA=SP8_R.P8_PAPONTA
AND SP8_U.P8_ORDEM=SP8_R.P8_ORDEM
WHEN MATCHED THEN
  UPDATE SET
    SP8_U.D_E_L_E_T_='*';

------------------------------------------------------------------------------------------------
Obs.:

1) Antes de efetuar qualquer operação que modifique os dados diretamente no SGBD efetue uma cópia da tabela;

2) Nem sempre os registros devem ser deletados. A melhor opção é identificar os funcionários com marcações impares e incluir a marcação faltante.

Comentários

Postagens mais visitadas