Edit data from result grid - sql-server

I would like to edit data directly from result grid in ssms. eg:
When I execute SELECT TOP 10 * FROM some_table, I want to edit data directly from result grid.
I don't want to open some_table and edit from there.
I know that result grid is read-only, but maybe someone written addin for it.

You can't edit the data from within the result grid. You'd have to go via the "open table" route if you want to edit the data manually instead of using UPDATE/INSERT SQL statements.
Is there a reason you specifically want to use the result grid instead?
You can specify a query when you go via open table to limit the results if that's your reason? There's a "Show SQL Pane" button in the top toolbar you need to select (square box with "SQL" written in it).

I have very large database (70+ GB) with so many tables.
I'm using Red Gate's SQL refactor for intellisense and few other things.
It's so boring to type in update sql statements every time I need to change single field.
It also takes some time to find that table in the Object explorer.
Intellisense doesn't work when I use "Show SQL Pane".

I'm new to SQL Server and have used the Oracle product 'PL/SQL developer' by All Round Automations at a previous job... It would allow you to do a SELECT in the query window and then simply add "FOR UPDATE" to the end of your refined SQL SELECT and 'ta-da' you can now edit the results in a nice grid. No need to Open Table View, click the SQL button, paste in the SQL you you have been working on and then hit execute ;)

EMS SQL Manager for SQL Server allows to update data directly inside a results grid.
This tool is boring for typing new requests (poor intellisense and error management) but fine for this. I always have the two tools opened.

If you right click on the table and choose edit top 200 records, it produces a result screen with an query.
Add to this your query and then you can edit the records in the result screen.
Also you can change the 200 to a number you want (2000).

The "results" pane is not just results.
Results in text
Assorted time and IO statistics
Estimated and actual execution plans
Row counts, Error messages, PRINT output
etc
This is why they are separate.
Feel free to write your own add-in :-) Or here

SQL Server ISN'T Access!
When you run a query and get the results - thats exactly what you are doing, reading the data, not opening the table for editing. Can you imagine the necessary transactional control around allowing the results window to be edited? The locking would probably grind SQL to a halt - I hope no-one ever writes that kind of add-in!

Related

SQL Server SSMS Default SELECT TOP <n> ROWS from SQL can I change the Order as a Default setting?

I get that we can right-click and SELECT TOP <n> ROWS from any given table in SSMS, is there any way to change this default script to that it also orders the records with ORDER BY 1 DESC?
What I would really like to increase my productiveness is
Right-click - SELECT TOP <n> ROWS ORDER BY 1 DESC
Or do I have to have a snippet so once the records are returned that I then have to paste a the snippet in?
Or even bind a stored procedure to a keyboard shortcut?
Many thanks
No, there is no way to customize what text appears in the query window when you use the menu options in the GUI. This code is buried somewhere in the bowels of the executable and/or DLLs.
I would suggest using a snippet instead of the point-and-click stuff. Or if you really want to customize the UI, see if any existing SSMS add-in does this, or write your own. It might be easier these days to build such a thing for Azure Data Studio, though.

Simplest way to edit value of a single cell in SQL Management Studio

What is the simplest way to edit value of a single cell in SQL Management Studio. In the GUI (graphical user interface).
For example:
1) I select a row from the table customer.
2) I want to change in the selected and shown row the value of its fk_order column. Which now has value 5 and I want to edit it to have value 8.
In SQL Squirrel this was easy. Just "Make Editable" from context menu and then click the cell and edit value.
How to do that exactly same operation in SQL Server Management studio?
I don't want to write queries this time. I want to learn this way as well. Sometimes this is safer.
No worries use "Edit top n records" command in SQL management studio.
However beware, this is not a good practice, use SQL updates, rather do not update records manually, unless at most required.
Have a look at this video, which shows what I mean,
https://www.youtube.com/watch?v=lzCZunqeVlg
Regards,
N Baua

Fix restore invalid column reference editor by clicking Ok?

This SSIS job essentially exports data from an oracle PLSQL database to a SQL Server database.
Whenever I change something in the WHERE clause of the query that will be used for the bulk insert, I get the following screen. I just click 'Ok' and everything's fixed.
Two questions: why do I get this error every time I change the query? I'm not changing the columns or the size. The output is not affected since I'm not touching the columns.
Is it a valid fix just to click 'Ok'? Whenever I see the red X after changing the output query, I literally just double-click on the SQL Server Destination and click 'Ok'.
This is the query. I simply change the WHERE clause; for example, trunc(sysdate)-2 to trunc(sysdate)-1
SELECT
datetime
,EmplCode
,TotalSales
,TotalRev
TotalTax
FROM Employee
WHERE
Employee.EmplCode like 'STX%'
and trunc(Employee.DATETIME) = trunc(sysdate)-2 --This is what I change
Thanks.
Did you rename the columns in the where clause? Are there functions in the where clause? Please show the code in the where clause.
If you right click on the task, and choose advanced, you can view/edit the input and output columns. You can see then see the effect of clicking on the 'OK' button. SSIS is either renaming or changing the data type of one or more columns. Its probably ok but you should be aware of what SSIS is doing. Trust but verify to quote a former president....

Refreshing a table in SQL server management studio

I have opened a table in SQL server management studio express.
How do I update it?
As changes made outside the studio application do not show unless I close and reopen the table. Surely there must be a better way of doing this?
In SSMS (SQL Server Management Studio) press Ctrl + R
In Visual Studio Press Shift + Alt + R
I am not sure if I understand exactly what you want, but if you want to see the changes, the query that loaded the table has to be re-executed. You can do this by clicking on "Execute SQL" (or selecting it from the context menu).
Depending on what you mean with "opening the table" (select top x rows, edit top x rows, etc ) you also might try to hit F5 (works for "Select TOP x Rows") - which simply executes the previous statement.
As a rule, manually editing data in SQL Server is a bad practice.
It's not repeatable. Anything you do is limited to your window and once it's gone it's gone.
It's easy to make mistakes. Click the wrong cell, fat-finger a decimal point, etc.
A much better solution is to create and save insert or update scripts. These are editable, reviewable, and rerunnable.
If you need to recreate your database or replicate something now, you need to manually type in all the same values you typed in before. If you script it out, you just run the script and can have the same data as many times as you can hit F5.
It is much easier if you just create a query referencing on that table. Then create select statement giving all rows from that table.

Is there any good way of editing 'text' values in SQL Server Management Studio?

I am needing to edit several text fields in a SQL Server database. What would be the best way of doing this? The only solution I have so far is writing an update statement(along with escaping quotes and such) to update it.. This just seems really cumbersome though. Is there a better way?
Though it's not the best solution, I have created a quick tool to generate such update statements for me. It is freely available here: http://jsbin.com/otake/latest
Quick and dirty: use and MS Access data project
gives you a smarter data editor than SSMS on the tables
you can wizard up a bound form with multi-line text box
You should be able to right-click the Table and choose "Open Table" to get the datasheet view--then you can browse to the one you want and make changes as needed.
If you select "Edit Top X Rows" on the table where you want to edit the text you can then modify the SQL that returns the data in the editable grid, so you can edit a single row (or exactly the rows you want) directly.
To modify the SQL, click on the button that reads "SQL", usually on the leftish side of the screen, if you haven't rearranged the toolbars.

Resources