Semantik .SCHREIBEN(NULL, NULL, NULL), wenn die Aktualisierung einer Spalte VARBINARY(max)

Welche die Semantik der folgenden Abfrage

UPDATE table
SET column .WRITE(NULL, NULL, NULL)

wenn column ist VARBINARY(max) Art und Ihr Inhalt sind nicht NULL?

Einen quick-test deutet darauf hin, dass die Abfrage
ist eine no-op:

--DROP TABLE [table]
CREATE TABLE [table] ([column] VARBINARY(max))
INSERT INTO [table] VALUES (0x12345678)
UPDATE [table]
SET [column] .WRITE(NULL, NULL, NULL)
SELECT * FROM [table]

Ausführung nicht verändert, die Daten in der column. Aber ich kann nicht scheinen, Beweise zu finden, in der Dokumentation. Habe ich etwas übersehen, oder ist das no-op Verhalten wahrscheinlich ändern?

  • Was bedeutet "no-op" für Sie bedeuten? Ihre syntax ist falsch, da die Dokumentation, die Sie verknüpft zeigt (siehe die Beispiele unter "Aktualisieren von Large Object-Datentypen"). Dies funktioniert für mich: update dbo.Mytable set MyColumn.Write(null, null, null)
  • Vielen Dank, bearbeitet. Es funktioniert bei mir auch, aber ist dieses Verhalten dokumentiert?
  • Ich weiß nicht, was du fragst: was ist "dieses Verhalten"? Die Parameter werden dokumentiert, und die Bemerkungen, die sagen, dass Sie können nicht einen Wert auf NULL oder aktualisieren einer NULL-Spalte-Wert mit write. Es klingt wie Sie sehen etwas, was Sie nicht erwarten oder verstehen, aber da Sie noch nicht gezeigt, Abfrage-Ergebnisse oder der Ausgaben bin ich mir nicht sicher, was jemand sagen kann, Sie. Wenn Sie buchen ein komplettes lauffähiges Beispiel, das zeigt genau das Verhalten, dass Sie Fragen, jemand könnte in der Lage sein, es zu klären.
  • Bearbeitet.
  • Eigentlich ist der doc, dass Sie eine Verbindung zu logisch impliziert, dass .WRITE(NULL,NULL,NULL) werden versuchen, kürzen Sie die Spalte in die Länge, dass es bereits ist. I. E., die praktisch ein no-op.
  • Pflege zu erarbeiten, diese in eine Antwort? Ich werde froh sein, um die Auszeichnung eine Prämie für eine logische Erklärung 🙂

InformationsquelleAutor krlmlr | 2013-05-19
Schreibe einen Kommentar