11 Stimmen

Gibt es eine Möglichkeit, die zusätzliche neue Zeile nach einer Druckanweisung in t-sql zu stoppen?

Das ist eine unbedeutende Frage, aber sie ist für mich sehr lästig. Oft schreibe ich Speicherprozeduren mit mehreren Abfragen darin. Um die Fehlersuche zu erleichtern, schreibe ich sie so:

print 'Some notes about query 1'
select * from someTable

print 'some notes about query 2'
update sometable set column = null

dann erhalte ich Ergebnisse wie dieses:

Some notes about query 1

(8 row(s) affected)
Some notes about query 2

(8 row(s) affected)

Die Art und Weise, wie der Abstand zwischen den Zeilen gestaltet ist, macht es schwer zu lesen. Ich würde mir wünschen, dass die Ergebnisse so aussehen:

Some notes about query 1
(8 row(s) affected)

Some notes about query 2
(8 row(s) affected)

Ich weiß, es ist unbedeutend, aber es ärgert mich. Hat jemand eine Idee?

12voto

Mack Punkte 2546

Fügen Sie die Antworten zusammen, die Sie erhalten:

--Set up test data
DECLARE @someTable AS TABLE(id int identity, somevalue int)

INSERT INTO @someTable (somevalue) VALUES (1)
INSERT INTO @someTable (somevalue) VALUES (2)
INSERT INTO @someTable (somevalue) VALUES (3)
INSERT INTO @someTable (somevalue) VALUES (4)
INSERT INTO @someTable (somevalue) VALUES (5)
INSERT INTO @someTable (somevalue) VALUES (6)
INSERT INTO @someTable (somevalue) VALUES (7)
INSERT INTO @someTable (somevalue) VALUES (8)

--Here's the method.
SET NOCOUNT ON  --As kd7 said this will get rid of spaces. Along with the rowcount.

print 'Some notes about query 1' 
select * from @someTable 
print '(' + CONVERT(varchar,@@rowcount)  +' row(s) affected)'--This adds the row count back in

print '' --Formatting row to add the space you require.

print 'Some notes about query 2' 
update @sometable set somevalue = null 
print '(' + CONVERT(varchar,@@rowcount)  +' row(s) affected)'

4voto

Ta01 Punkte 30128

Wenn Sie NOCOUNT auf ON setzen, wird das Leerzeichen entfernt, aber auch die (8 betroffenen Zeilen), ich bin nicht sicher, ob das für Sie praktikabel ist.

1voto

Oleg Dok Punkte 20630

Wenn Sie Zeilenzählungen in der Ausgabe benötigen - dann gibt es in SSMS keine Entscheidung, ansonsten verwenden Sie set nocount on

BUT

Sie können jederzeit Ihre eigene Anwendung schreiben, um diese Abfragen mit ihrer eigenen Ausgabe einschließlich der Zeilenzahlen auszuführen

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X