Feldlänge kürzen

Ich hab mal eine ganz einfache aber dringende Frage wo mir bisher noch keiner helfen konnte.

Ich benutze eine Microsoft Database und will eine Feldlänge von 28 auf 27 setzen gehen dabei die Daten verloren oder bleiben sie erhalten

mfg Sebastian Plötz

Auch guten Tag.

wo mir bisher noch keiner helfen konnte.

Ich benutze eine Microsoft Database

Daran liegts. Access? FoxPro? SQL Server? Oder was?

und will eine Feldlänge von 28 auf 27 setzen gehen dabei die Daten
verloren oder bleiben sie erhalten

Abgesehen davon, dass die korrekte Antwort auf eine so gestellte Frage schlicht ja lautet : Die Feldlängenänderung sollte sich nicht auf den Inhalt des Feldes auswirken (außer natürlich die 28. Stelle in diesem Fall). Es fällt mir aber zugegebenermaßen schwer, mir einen Anwendungsfall für eine Feldlängenänderung um -1 Byte auszudenken.

Gruß Eillicht zu Vensre

>>>

Ehemm…wenn du einen Eintrag in deinem Feld hast, welches die 28 Zeichen benötigt und du würdest das Feld kürzen, was denkst, was passiert ?. Ich kenne MS DB 's nicht, aber unter Oracle ist so etwas gar nicht erlaubt, und macht auch keinen Sinn

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Mahlzeit,

Ich kenne MS DB 's nicht, aber unter
Oracle ist so etwas gar nicht erlaubt, und macht auch keinen
Sinn

öh, doch, wenn kein Eintrag existiert, der dieses auch ausfüllt:

SQL\*Plus: Release 9.2.0.1.0 - Production on Do Mär 1 11:07:42 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Verbunden mit:
Oracle9i Enterprise Edition Release 9.2.0.8.0 - Production
With the OLAP and Oracle Data Mining options
JServer Release 9.2.0.8.0 - Production

SQL\> create table ss\_test (nix varchar2(28));

Tabelle wurde angelegt.

SQL\> insert into ss\_test values ('123456789012345678901234567');

1 Zeile wurde erstellt.

SQL\> alter table ss\_test modify nix varchar2(27);

Tabelle wurde geändert.

SQL\> select \* from ss\_test;

NIX
---------------------------
123456789012345678901234567

SQL\> alter table ss\_test modify nix varchar2(26);
alter table ss\_test modify nix varchar2(26)
 \*
FEHLER in Zeile 1:
ORA-01441: Spaltenlänge kann nicht vermindert werden, weil ein Wert zu groß ist

Gruß

Sancho