Dies ist eine einfache Antwort sein kann, aber ich zu lange habe und starre es an ...Einfache dynamische TSQL Abfragesyntax
Ich habe die folgende Abfrage, die einen gespeicherte Prozedur Eingabeparameter als Variablennamen und zählt nimmt die Datensätze in dieser Tabelle. Ich möchte die Ergebnisse der dynamischen Anweisung (@toStartStr) in eine Variable (@toStart) abrufen.
-- @tempTableName = SProc input parameter
DECLARE @toStartStr nvarchar(150);
DECLARE @toStart int;
SET @toStartStr = 'SELECT @toStart = COUNT(ID) FROM ' + @tempTableName;
EXEC(@toStartStr);
Gerade jetzt, schlägt ein Fehler, dass @toStart kann nicht mit der Zeichenfolge SELECT verkettet werden, aber dies ist der Kern dessen, was ich will. Kann jemand sehen, was ich falsch mache? Oder eine Alternative vorschlagen? FYI SQL 2008 R2. Vielen Dank.
Es ist nicht immer wahr, dass Sie ein ** sa ** Benutzer sind. Ich denke, Admin-Rechte sind erforderlich, um diese Abfrage auszuführen. Recht? – Pankaj
Nein, ich habe gerade auf einem System getestet, wo ich keine Administratorrechte habe und es läuft gut. – JNK
@Kanavi Nein, zum Anzeigen von sys.partitions sind keine Administratorrechte erforderlich. Hast du es versucht, bevor du mir befohlen hast, den Code zu entfernen? –