Is there a way to expand the column list in a SELECT * from #Temp_Table in SSMS?
Asked Answered
P

5

14

As seen here LINK you can hover over the * in a SELECT * from... and a tooltip will come up with a list of the columns represented by that *.

Is there a way to copy the text from the tooltip to the clipboard?

I know that you can use the columns folder in the object explorer to generate a list of columns by dragging it into the query editor window, but this cannot work for temp tables as they do not appear in the object explorer.

EDIT

For completeness sake, the answer below "You can right-click on the table in Object Explorer and select Script Table as->CREATE to->New Query Editor Window." is also not workable for the same reason as above.

END EDIT

I do not see a way to do this in SSMSBoost, which is an add-on for SSMS that I use. (The only reason I mention it is I am pretty sure I have seen the SSMSBoost developers on SO, feature request??)

EDIT 2: Is there any other way to quickly expand the * in a SELECT * from #Temp_Table without actually running the code to create the temp table? END EDIT 2

Particular answered 8/1, 2014 at 15:18 Comment(6)
Have you tried just pressing CTRL+C when that tooltip is focused?Slyke
Okay, it was worth a shot. :DSlyke
SSMSBoost developer here ;) Currently following solution will work: you perform select * from temp table, right click the results grid and select SSMSBoost command "copy all headers". Let me know if it suits you. But anyway I will estimate your proposal and think about even more efficient solution for your requirement.Rat
@Andrei HA, that is exactly what I have been doing for the last couple of days and it has certainly sped things up, however, some limitations there are 1)that the table has to exist, which can be tedious. 2) it does not use the table alias or bracket column headers with spaces or dashes.Particular
Correct. Alias issue can be probably solved. But how do you expect the application to "predict" columns in non-existing temp table. Is it declared in currently-opened script ?Rat
@AndreiRantsevich, SSMS already does know the columns of any select * that has the table defined, if you hover over the * it shows you a full list of all columns in the tables named in the from clause, whether or not they are temp tables.Particular
R
14

You can just drag the column's subfolder from the object explorer into the editor and the columns will be added as a list.

Reddish answered 6/2, 2017 at 3:3 Comment(2)
Not doable on temp tables, which is very specifically what the question is about.Particular
Did not answer the question at all. There is no folder to drag for CTE and temp tables.Libreville
P
2

Very similar to this question. Here is the accepted answer from that question:

select * from tempdb.sys.columns where object_id =
object_id('tempdb..#mytemptable');
Pyrogenous answered 8/1, 2014 at 16:42 Comment(2)
It is similar, however this requires the code to be run and the table actually created, that tooltip populates using Intellisense (I assume) and does not require the table to actually exist. I would like to know if there is a way to do it on the fly...Particular
Interesting. I see what you mean. I mad a script with both a temp table and a table variable but did not "create" them. Hovering over the * showed the column names/types/sizes.Pyrogenous
S
2

If you have RedGate SQL Prompt, you can expand wildcards using Ctrl + B, Ctrl + W

Syncarpous answered 13/12, 2022 at 15:33 Comment(0)
S
-1

You can right-click on the table in Object Explorer and select Script Table as->CREATE to->New Query Editor Window.

The information you want in near the top of the script this command creates.

Saccular answered 8/1, 2014 at 15:35 Comment(1)
Not doable on temp tables, which the OP has indicated they're interested in.Lam
M
-1

The way I usually do this is by highlighting the table name and hitting Alt + F1. Then, you can copy-paste the Column_name values.

Milliliter answered 22/9, 2021 at 23:8 Comment(1)
The object '[#tmp]' does not exist in database 'Test' or is invalid for this operation. This still doesnt work on temp tables.Particular

© 2022 - 2024 — McMap. All rights reserved.