Histórico da Página
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
---
SELECT o.name AS Object_Name, o.type_desc
FROM sys.objects o
JOIN sys.schemas s ON s.schema_id = o.schema_id
WHERE s.name = 'ssma_oracle' -- Replace with your schema name
ORDER BY o.type_desc, s.name, o.name
-- ### Passos antes de mudar de schema
-- Corrigir a view EVENTO_EMBALAGEM e retirar o "WITH NO SCHEMABINDING" do código
CREATE VIEW EVENTO_EMBALAGEM
WITH SCHEMABINDING AS
-- Retirar a referencia da sequence na tabela APABASTEC_TMP
SELECT c.name, c.definition
FROM sys.default_constraints c
JOIN sys.objects o ON o.object_id = c.parent_object_id
WHERE o.name = 'APABASTEC_TMP';
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
ALTER TABLE dbo.APABASTEC_TMP
DROP CONSTRAINT DF_APABASTEC_TMP_CD_APABASTEC_TMP;
GO
ALTER TABLE dbo.APABASTEC_TMP SET (LOCK_ESCALATION = TABLE)
GO
COMMIT
-- Depois que mudar o schema, voltar a sequencia para tabela
ALTER TABLE [MULTICULTIVO].[APABASTEC_TMP] ADD CONSTRAINT [DF_APABASTEC_TMP_CD_APABASTEC_TMP] DEFAULT (NEXT VALUE FOR [MULTICULTIVO].[SEQ_CD_APABASTEC_TMP]) FOR [CD_APABASTEC_TMP]
GO
--Colocar este código na coluna CD_APABASTEC_TMP na tabela APABASTEC_TMP
(NEXT VALUE FOR dbo.SEQ_CD_APABASTEC_TMP)
------------------------------------------------------
USE [PIMSMC_CLAIDES_PROD_POCDEV]
GO
DROP VIEW [dbo].[EVENTO_EMBALAGEM]
GO
/****** Object: View [dbo].[EVENTO_EMBALAGEM] Script Date: 10/03/2025 14:16:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[EVENTO_EMBALAGEM]
AS
SELECT EM.ID_UNIDADEADM, EVT.ID_APEMBALAGEM,EVT.DT_EVENTO, EM.ID_INSUMO, EVT.ID_EVENTO_EMB,
INS.ID_GRPINSUMO, INS.ID_PRINCATIVO, EVT.ID_PERIODOSAFRA, PS.ID_SAFRA,
EQ.ID_EQUIPE, EQ.CD_EQUIPE,
APOS.ID_APORDSERVICO,
CC.ID_CCUSTO, OP.ID_OPERACAO, EVT.ID_APEMBALAGEM_EVT
FROM dbo.APEMBALAGEM_EVT EVT
JOIN dbo.APEMBALAGEM EM ON (EVT.ID_APEMBALAGEM = EM.ID_APEMBALAGEM)
JOIN dbo.EVENTO_EMB EVTEMB ON (EVT.ID_EVENTO_EMB = EVTEMB.ID_EVENTO_EMB)
JOIN dbo.INSUMO INS ON (EM.ID_INSUMO = INS.ID_INSUMO)
JOIN dbo.GRPINSUMO GRP ON (INS.ID_GRPINSUMO = GRP.ID_GRPINSUMO)
LEFT JOIN dbo.PRINCATIVO PATIV ON (INS.ID_PRINCATIVO = PATIV.ID_PRINCATIVO)
LEFT JOIN
( SELECT DISTINCT D.ID_PERIODOSAFRA, D.ID_APEMBALAGEM
FROM dbo.APEMBALAGEM_EVT D
JOIN
(SELECT D1.ID_APEMBALAGEM, MAX(D1.DT_EVENTO) DT_EVENTO
FROM dbo.APEMBALAGEM_EVT D1
WHERE D1.ID_PERIODOSAFRA IS NOT NULL
GROUP BY D1.ID_APEMBALAGEM
) D1 ON (D.ID_APEMBALAGEM = D1.ID_APEMBALAGEM AND D.DT_EVENTO = D1.DT_EVENTO)
) EVT_PERIODOSAFRA ON (EVT_PERIODOSAFRA.ID_APEMBALAGEM = EVT.ID_APEMBALAGEM)
LEFT JOIN dbo.PERIODOSAFRA PS ON (EVT_PERIODOSAFRA.ID_PERIODOSAFRA= PS.ID_PERIODOSAFRA)
LEFT JOIN dbo.SAFRA S ON (PS.ID_SAFRA = S.ID_SAFRA)
LEFT JOIN
( SELECT DISTINCT D.ID_APORDSERVICO, D.ID_APEMBALAGEM FROM dbo.APEMBALAGEM_EVT D
JOIN
(SELECT D1.ID_APEMBALAGEM, MAX(D1.DT_EVENTO) DT_EVENTO
FROM dbo.APEMBALAGEM_EVT D1
WHERE D1.ID_APORDSERVICO IS NOT NULL
GROUP BY D1.ID_APEMBALAGEM
) D1 ON (D.ID_APEMBALAGEM = D1.ID_APEMBALAGEM AND D.DT_EVENTO = D1.DT_EVENTO)
) EVT_APOS ON (EVT_APOS.ID_APEMBALAGEM = EVT.ID_APEMBALAGEM)
LEFT JOIN dbo.APORDSERVICO APOS ON (EVT_APOS.ID_APORDSERVICO= APOS.ID_APORDSERVICO)
LEFT JOIN
( SELECT DISTINCT D.ID_CCUSTO, D.ID_APEMBALAGEM FROM dbo.APEMBALAGEM_EVT D
JOIN
(SELECT D1.ID_APEMBALAGEM, MAX(D1.DT_EVENTO) DT_EVENTO
FROM dbo.APEMBALAGEM_EVT D1
WHERE D1.ID_CCUSTO IS NOT NULL
GROUP BY D1.ID_APEMBALAGEM
) D1 ON (D.ID_APEMBALAGEM = D1.ID_APEMBALAGEM AND D.DT_EVENTO = D1.DT_EVENTO)
) EVT_CCUSTO ON (EVT_CCUSTO.ID_APEMBALAGEM = EVT.ID_APEMBALAGEM)
LEFT JOIN dbo.CCUSTO CC ON (ISNULL(EVT_CCUSTO.ID_CCUSTO, APOS.ID_CCUSTO) = CC.ID_CCUSTO)
LEFT JOIN
( SELECT DISTINCT D.ID_OPERACAO, D.ID_APEMBALAGEM FROM dbo.APEMBALAGEM_EVT D
JOIN
(SELECT D1.ID_APEMBALAGEM, MAX(D1.DT_EVENTO) DT_EVENTO
FROM dbo.APEMBALAGEM_EVT D1
WHERE D1.ID_OPERACAO IS NOT NULL
GROUP BY D1.ID_APEMBALAGEM
) D1 ON (D.ID_APEMBALAGEM = D1.ID_APEMBALAGEM AND D.DT_EVENTO = D1.DT_EVENTO)
) EVT_OPERACAO ON (EVT_OPERACAO.ID_APEMBALAGEM = EVT.ID_APEMBALAGEM)
LEFT JOIN dbo.OPERACAO OP ON (ISNULL(EVT_OPERACAO.ID_OPERACAO, APOS.ID_OPERACAO) = OP.ID_OPERACAO)
LEFT JOIN
( SELECT DISTINCT D.ID_EQUIPE, D.ID_APEMBALAGEM FROM dbo.APEMBALAGEM_EVT D
JOIN
(SELECT D1.ID_APEMBALAGEM, MAX(D1.DT_EVENTO) DT_EVENTO
FROM dbo.APEMBALAGEM_EVT D1
WHERE D1.ID_EQUIPE IS NOT NULL
GROUP BY D1.ID_APEMBALAGEM
) D1 ON (D.ID_APEMBALAGEM = D1.ID_APEMBALAGEM AND D.DT_EVENTO = D1.DT_EVENTO)
) EQ_EVT ON (EQ_EVT.ID_APEMBALAGEM = EVT.ID_APEMBALAGEM)
LEFT JOIN dbo.EQUIPE EQ ON (EQ.ID_EQUIPE= ISNULL(EQ_EVT.ID_EQUIPE,APOS.ID_EQUIPE) )
-----------------------------------------------------------------------------
SELECT
schema_name(o.schema_id) dono_objeto,
o.name AS view_name,
m.definition AS view_definition,
o.type_desc tipo_objeto
FROM
sys.objects o
INNER JOIN
sys.sql_modules m ON o.object_id = m.object_id
WHERE upper(m.definition) LIKE '%DBO%'
order by schema_name(o.schema_id), o.type_desc, o.name
DECLARE @sql NVARCHAR(MAX)
DECLARE @obj_name NVARCHAR(255)
DECLARE @obj_type NVARCHAR(2)
-- Cursor para iterar sobre todos os objetos que possuem "dbo."
DECLARE cur CURSOR FOR
SELECT
o.name,
o.type
FROM
sys.objects o
INNER JOIN
sys.sql_modules m ON o.object_id = m.object_id
WHERE upper(m.definition) LIKE '%DBO%' -- Procurando o prefixo dbo.
AND o.type IN ('P', 'V', 'FN', 'TR') -- Types: P = Stored Procedures, V = Views, FN = Functions, TR = Triggers
AND schema_name(o.schema_id) = 'MULTICULTIVO'
order by schema_name(o.schema_id), o.type_desc, o.name;
OPEN cur
FETCH NEXT FROM cur INTO @obj_name, @obj_type
WHILE @@FETCH_STATUS = 0
BEGIN
-- Gerar o script de alteração
SET @sql = 'ALTER ' +
CASE
WHEN @obj_type = 'P' THEN 'PROCEDURE '
WHEN @obj_type = 'V' THEN 'VIEW '
WHEN @obj_type = 'FN' THEN 'FUNCTION '
WHEN @obj_type = 'TR' THEN 'TRIGGER '
END + @obj_name + ' AS '
-- Substitui "dbo." por nada no código do objeto
SET @sql = @sql + REPLACE((SELECT definition FROM sys.sql_modules WHERE object_id = OBJECT_ID(@obj_name)), 'dbo.', '')
-- Comando executado
print 'Comando: '+@sql+ ' Tipo objeto:> ' + @obj_type
-- Executa o script de atualização
EXEC sp_executesql @sql
FETCH NEXT FROM cur INTO @obj_name, @obj_type
END
CLOSE cur
DEALLOCATE cur |
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas