Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:mi_deletefromtempdbtable

mi_DeleteFromTempdbTable

Löscht in einer Tabelle der Datenbank „tempdb“ alle Einträge, die zur aktuellen Datenbankverbindung („spid“) gehören.

Seit der Version 3.5.13 kann man auch Daten zu einer anderen „spid“ löschen - diese muß allerdings einer bestimmten Bedingung genügen (siehe Parameter „spid“), um nicht versehentlich Datensätze zu löschen, die nicht der aktuellen „Session“ gehören.

Anmerkung:
Bisher wird dieser Parameter nur für interne Aufrufe aus anderen Prozeduren benötigt.

Die Namen der temporäre Tabellen sind:

AdditionalInformation
AnyValues
CharacteristicConditions
CharacteristicValues
ImageData
NodeCharacteristicSearch
NodeDescriptions
NodeProperties
OneID
StatisticData
TextData
ThreeIDs
TwoIDs
VariantMatrix

HTTP-MethodPOST
HTTP-AuthOptional
Tags
Engine-Kategoriemiscellaneous
Engine-TypDaten-Änderung
Letzte Aktualisierung7.0.5 (2014-05-26)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
TableName Name der Tabelle in der Datenbank „tempdb“, aus der Datensätze gelöscht werden sollen. Mögliche Werte : siehe Beschreibung
varchar(50)3.5.0
spidNULL Einträge löschen mit „spid = spid“. Es muß gelten :

spid = sign * n * max_connections + sign * spid, sign aus {-1,1}, n aus |N

„max_connections“ gibt die Anzahl Verbindungen an, die die installierte ASE-Version ÜBERHAUPT unterstützt.
integer3.5.13

Rückgabe

Die Prozedur hat keine Rückgaben.

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 4)
-500Falsche Parameternur direkt

XML-Schema

Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.

Historie

7.0.5 2014-05-26Fehlende Fehlerbehandlung für sämtliche „DELETE“-statements
5.5.0 2008-01-07Neue Tabelle „tempdb.dbo.AdditionalInformation“
5.0.1 2005-03-29Durch die Umstellung der Preis- und Warenkorb-Ermittlung werden „tempdb.dbo.Prices“ und „tempdb.dbo.Trolley“ nicht mehr benötigt - also brauchen diese Tabellen insbesondere auch nicht mehr (durch diese Prozedure) geleert zu werden…
3.5.20 2002-07-22
3.5.13 2001-12-06
3.5.0 2000-11-23Erstmalig in dieser Version erstellt

Code-Snippets

Engine Playground

Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist:

cURL

Unformatierte Ausgabe:

curl -X POST  'http://<partner>-<project>.dstore.de/default/engine/mi_DeleteFromTempdbTable?TableName=<value>'

Mit xmllint 5) formatierte Ausgabe:

curl -X POST  'http://<partner>-<project>.dstore.de/default/engine/mi_DeleteFromTempdbTable?TableName=<value>' | xmllint --format -
dStore_php
use dStore_php\WebService;
 
$service = new WebService\Service( WebService\Scheme::HTTP,'<partner>-<project>.dstore.de', 80);
 
$request = new WebService\Requests\Engine\Procedure\Request(
			new WebService\Requests\AccessData('default'),
	'mi_DeleteFromTempdbTable',
		array(
			'TableName' => '<value>',
			// 'spid' => NULL
		)
);
 
$service->execute($request);
 
			$xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument();
			$ResultSet = $xml_result->getRowsAsArray();
engine/execute

XML zur Ausführung mit der Methode engine/execute, z.B. per

curl --header 'Content-Type: application/xml' -X POST 'http://<partner>-<kunde>.dstore.de/default/engine/execute' -d '<xml-daten>'
<?xml version="1.0" encoding="UTF-8"?>
<ListOfBatches>
	<Batch No="0">
		<Procedure Name="mi_DeleteFromTempdbTable">
			<Parameters>
				<Parameter Name="TableName"><!-- varchar value --></Parameter>
				<!-- <Parameter Name="spid">NULL</Parameter> -->
			</Parameters>
		</Procedure>
	</Batch>
</ListOfBatches>
1)
Pflichtparameter sind unterstrichen
4)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
5)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/mi_deletefromtempdbtable.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)