General
Schreiben
pixiSysUTRefreshViewsAndProcedures
Aktualisiert die Metadaten aller nicht schemagebundenen Views und markiert alle Stored Procedures der Pixi-Datenbank zur Neukompilierung.
Wartungsaufruf ohne Parameter. Die Datenbankobjekte werden in zwei Durchläufen bearbeitet:
- Views: Alle Views (
type = 'V') in allen Schemas, die nicht schemagebunden sind (IsSchemaBound = 0), werden einzeln ansp_refreshviewübergeben. Dadurch werden ihre gespeicherten Metadaten aktualisiert, z. B. nach Änderungen an Spalten der zugrunde liegenden Tabellen. - Stored Procedures: Alle Stored Procedures (
type = 'P') in allen Schemas werden einzeln ansp_recompileübergeben. Ihre zwischengespeicherten Ausführungspläne werden bei der nächsten Ausführung neu kompiliert.
Die Objekte werden als schema.name angesprochen.
Werden beide Durchläufe abgeschlossen, wird eine Zeile mit Code = '200' und Text = 'OK' geliefert. Schlägt ein Schritt fehl, bricht die Verarbeitung an dieser Stelle ab und es wird eine Zeile mit Code = '500' und der SQL-Fehlermeldung in Text geliefert.
Hinweise
- Es gibt keine Transaktion. Bereits aktualisierte Views bleiben bei einem Fehler aktualisiert. Tritt ein Fehler im View-Durchlauf auf, wird keine Procedure neu kompiliert.
- Eine einzelne fehlerhafte View bricht den gesamten Lauf ab. Das kann eine View sein, die auf eine gelöschte Tabelle oder Spalte verweist. Der Fehler wird als Zeile mit
500geliefert. - Die Cursor werden im Fehlerfall weder geschlossen noch freigegeben. Handelt es sich um globale Cursor (Datenbank-Standard), bleiben sie für die Verbindung offen. Ein späterer Aufruf über dieselbe Verbindung kann dann fehlschlagen, weil bereits ein Cursor
cursor_viewsodercursor_procsexistiert. sp_refreshviewundsp_recompilebenötigenALTER-Berechtigung auf jedes Objekt. Sie setzen außerdem Schemasperren. Bei großen Datenbanken kann der Aufruf lange dauern und andere Sitzungen kurzzeitig blockieren.- Schemagebundene Views werden übersprungen. Funktionen und Trigger werden nicht bearbeitet.
- Die Neukompilierung aller Procedures erzeugt bei deren nächster Ausführung zusätzliche Kompilierlast.
Parameter
Dieser Call hat keine Parameter.
Antwort
Result-Set 1 · Immer: eine Zeile, entweder 200/OK bei Erfolg oder 500 mit der Fehlermeldung bei einem Fehler.
Statuszeile des Laufs.
| Spalte | Typ | Beschreibung |
|---|---|---|
Code
|
varchar(3) string |
|
Text
Kann leer sein |
nvarchar(4000) string |
|
Beispielantwort
<SqlRowSet1>
<row>
<Code>200</Code>
<Text>OK</Text>
</row>
</SqlRowSet1>
Fehlermeldungen
| Status | Meldung | Ursache |
|---|---|---|
| 500 | {ERROR_MESSAGE()} | Beim Aktualisieren einer View oder beim Neukompilieren einer Procedure ist ein Fehler aufgetreten. Typische Ursachen sind eine View, die auf ein fehlendes Objekt verweist, oder eine fehlende `ALTER`-Berechtigung. Das fehlerhafte Objekt korrigieren oder entfernen bzw. die Berechtigungen erteilen und den Aufruf über eine neue Verbindung wiederholen. |
Beispiele
POST https://apigateway.descartes.com/tms/pixi/
Content-Type: text/xml; charset=utf-8
Authorization: Basic BASE64(USERNAME:PASSWORD)
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://apigateway.descartes.com/tms/pixi/">
<SOAP-ENV:Body>
<ns1:pixiSysUTRefreshViewsAndProcedures/>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
curl -X POST 'https://apigateway.descartes.com/tms/pixi/' \
--user 'USERNAME:PASSWORD' \
--header 'Content-Type: text/xml; charset=utf-8' \
--data-binary @- <<'XML'
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://apigateway.descartes.com/tms/pixi/">
<SOAP-ENV:Body>
<ns1:pixiSysUTRefreshViewsAndProcedures/>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
XML
<?php
$soapClient = new SoapClient(null, [
'login' => 'USERNAME',
'password' => 'PASSWORD',
'location' => 'https://apigateway.descartes.com/tms/pixi/',
'uri' => 'https://apigateway.descartes.com/tms/pixi/',
]);
$arguments = [
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiSysUTRefreshViewsAndProcedures', $soapArguments);
Verwendete Tabellen
objects · Lesen
schemas · Lesen
- SQL-Objekt:
- dbo.pipiSysUTRefreshViewsAndProcedures
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben