Ich habe eine vorhandene Tabelle, die in einer Datenbank residiert, und jeden Abend möchte ich alle Inhalte dieser vorhandenen Tabelle (TO_TABLE) mit allen Daten aus einer anderen Datenbank/Tabelle (FROM_TABLE) vollständig überschreiben.Wie verwende ich eine gespeicherte Prozedur, um eine vorhandene Tabelle vollständig zu überschreiben?
Derzeit bin ich fallen manuell die TO_TABLE und Umschreiben es mit diesem:
INTO SDE_SPATIAL.GISADMIN.TO_TABLE
FROM GAVIN..AUTH.FROM_TABLE
Dies funktioniert gut, aber ich würde schließlich diese in eine gespeicherte Prozedur umwandeln möchten und diese automatisch alle 24 Stunden passieren bekommen .
Kann jemand das oben genannte ein bisschen besser tun und bereit zu einer gespeicherten Prozedur?
UPDATE: Dies ist der Code, wie er derzeit steht. Ich habe diese zwei Fehler auftreten, wenn ich es ausführen, der erste war "Falsche Syntax in der Nähe von 'ON'" und der andere war "Falsche Syntax in der Nähe von 'END'". Ich entfernte die; Zeichen und führen Sie erneut, diesmal bekam ich keine Fehler, und die Prozedur wurde erfolgreich erstellt.
CREATE
PROCEDURE [_ACC_OVERWRITE_PROPERTY_DETAILS]
AS
BEGIN
SET NOCOUNT ON
TRUNCATE TABLE
SDE_SPATIAL.GISADMIN._ACC_TEMP
INSERT
INTO
SDE_SPATIAL.GISADMIN._ACC_TEMP
(
Parcel ,
Assessment ,
House ,
Street ,
St_Type ,
Title ,
Area ,
Area_Units ,
Suburb
)
SELECT
parc.pcl_num ,
parc.ass_num ,
STAD.HOU_NUM ,
stad.str_nme ,
stad.str_typ ,
parc.fmt_ttl ,
aps.property_area ,
LOWER(aps.AREA_INDICATOR) + '²',
stad.sbr_nme
FROM
GAVIN..AUTH.AUPRSTAD stad,
GAVIN..AUTH.AUSRMAST mast,
GAVIN..AUTH.AV_PROPERTY_SUMMARY aps,
GAVIN..AUTH.AUPRPARC parc
WHERE
PARC.PCL_NUM=STAD.PCL_NUM
AND STAD.STR_NUM=MAST.STR_NUM
AND (
PARC.PCL_FLG='R'
OR PARC.PCL_FLG='P')
AND PARC.PCL_NUM=aps.PARCEL_NUMBER
AND stad.SEQ_NUM = 0
END
"Besser" wie? Ist etwas falsch mit der Art, wie Sie es tun? – Blorgbeard
Nun, ich bin mit der rechten Maustaste und lasse die TO_TABLE jedes Mal, wenn ich es ausführe, kann ich stattdessen die TO_TABLE überschreiben? – Benno
Sie können die Tabelle KÜRZEN oder LÖSCHEN, anstatt sie fallen zu lassen, aber das kann oder kann nicht besser sein. – Lucero