Ich weiß, es gibt eine Menge Fragen wie diese, aber ich habe fast alle der Lösung versucht, aber immer noch nicht bekommen, dass ein Stück Code zu arbeiten :(Hier ist was ich ist zu tun -. ich versuche, die Anzahl der Zeilen in einer Tabelle zu finden, so dass ich, dass als Gegen Schleife verwenden kann und löschen von ZeilenKonvertierung fehlgeschlagen beim Konvertieren varchar in INT
@rc
ist INT, @tbname
ist varchar (500) und @id
INT ist auch
Dies ist meine Frage:.
set @rc='select count(*) from dbo.[' + @tbname + '] where id = ' + @id
Ich habe versucht, auch diese:
set @rc='select cast(count(*) as varchar) from dbo.[' + @tbname + '] where id = ' + @id
und
set @rc='select count(*) from dbo.[' + @tbname + '] where id = ' + cast(@id as varchar)
Und ein paar mehr Permutation von hier abgegebenen Stellen auch und da. Ich habe auch versucht, die Deklaration von @rc
als varchar
zu ändern, immer noch den gleichen Fehler.
Sie erwarten, dass nur * Zuweisung * a * string * auf eine Variable die Zeichenfolge verursachen sollte als eine Abfrage in Betracht gezogen werden und * * ausgeführt? Das würde zu einer bemerkenswert überraschenden Sprache führen. –
Dies ist die Methode, die Sie verwenden müssen. http://stackoverflow.com/questions/803211/how-to-get-sp-executesql-result-into-a-variable Versuchen Sie es und posten Sie alle Fragen zurück –
Sorry, ich habe es versäumt hinzuzufügen - ich drucke @rc in der nächste Zeile. – mathB