The database I use at work is Microsoft SQL Server. It uses a program called “Enterprise Manager” to manage your databases.

To edit a table, you right-click on it and select Design Table. To see data: Open Table / Return All Rows. When you double-click a table, the default is the nearly useless “View Properties,” where in Access the default is the equivalent of Return All Rows. So if you go back and forth from Access to Enterprise Manager, just a little annoyance.

Return All Rows is pretty cool — you can even edit data there by hand, and you can go to SQL view or Diagram view. But there’s something wrong with the engine it uses: it times out on complex actions such as multiple table joins.

So there’s another tool: SQL Query Analyzer. QA lets you do very complex queries, save them, and has not only a long timeout but a timer showing how long the query has taken. But you can’t hand-edit data in QA, though you can mass-edit. TRUNCATE TABLE users. So you still go back to Return All Rows for that. And neither QA nor Return All Rows has Access’s nifty “Filter By Selection” right-click feature.

Now, technically, you really shouldn’t be allowed to hand-edit that data at all. Going in and changing, say, merchant_status, with no audit trail and no control, is what got Diebold in trouble with their voting system.

And one of my annoyances with SQL syntax: INSERT and UPDATE statements are completely different:

INSERT INTO users (username, user_status) VALUES ('fred', 1)

versus:

UPDATE users SET username = 'fred', user_status='1' WHERE user_id = '123'

Couldn’t they have just allowed the same syntax for both? For that matter, how about:

INSERT_OR_UPDATE users SET username = 'fred', user_status='1' WHERE user_id = '123'

…so I could copy and paste my code between update and insert?