|
I used to live there. Don't mess with Texas
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a f***ing golf cart.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
|
|
|
|
|
Saw a t-shirt once: "Don't mess with Texas, it's not nice to pick on retards"
A very brave fellow I might add.
|
|
|
|
|
Anyone using triggers for anything else than logging, or with any recursion whatsoever, should get publically flogged.
Just a personal opinion.
|
|
|
|
|
Same here. I built a 'don't use this for anything else than this one purpose' update method and it finally seems to work - except that now something else is not updated correctly. Turned out to be the same thing our heroes pulled off on another table. And of course more extra hours for finding this.
Now it's very late, I still have a one and a half hour trip home, will not get much to eat tonight unless I pick up some greasy junk along the way and would I love to strangle that idiot that invented the technique of updating primary keys and enforcing this nonsense with countless triggers.
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a f***ing golf cart.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
|
|
|
|
|
If there's anything worse than nested triggers, it has to be people fiddling with primary keys.
You have my sympathies, and I wish your company would pay you for a decent restaurant.
My old job actually had that as a rule, if you were forced to work past eight o'clock the dinner was paid for. Within reason.
|
|
|
|
|
Jörgen Andersson wrote: pay you for a decent restaurant.
Are you joking? They will cry how long it took me to find and correct it. They actually tried to tell us that we do and always have produced excellent quality - as a company guideline. If they say so, then it must be true and it must somehow be our fault when something does not go according to plan.
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a f***ing golf cart.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
|
|
|
|
|
CDP1802 wrote: perhaps you should use a ORM as abstraction
Frack no! That just makes things worse!
|
|
|
|
|
CDP1802 wrote: If the minor differences between databases already make you cry, then please stay away from anything that has to do with browsers.
But it's the minor differences that cause the subtle bugs which take the most time and require the greatest pulling of hair to resolve.
|
|
|
|
|
Ok, then it should be the probabilty of a subtle bug, weighted by its severity.
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a f***ing golf cart.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
|
|
|
|
|
Don't forget to also weight according to the severity of the motivational floggings that are part of the debugging process.
|
|
|
|
|
So what you are saying is T-SQL <> PL/SQL?
Mongo: Mongo only pawn... in game of life.
|
|
|
|
|
Why do they need the T- and PL/ anyway, at least for simple queries...
|
|
|
|
|
For some of us, "Transact-SQL" <> [Transact-SQL].
In Sybase SQL Anywhere, you can get a current date-time value using "CURRENT_TIMESTAMP", "GETDATE( )" , "CURRENT TIMESTAMP" or "NOW( )". Good luck using either "CURRENT TIMESTAMP" or "NOW( )" in Microsoft SQL Server.
|
|
|
|
|
That's why I use a SQL builder.
SQL - it's not Structured, it's not just Query, and it's not a Language.
How the f*** did it get that acronym?
Marc
|
|
|
|
|
It is indeed just Query, the rest is DDL[^] and DML[^]
The other two I'll pin down as opinions.
|
|
|
|
|
|
SQL92 ftw
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
I had fun with SQL SUBSTRING the other day...WTE is it 1 based?
"Go forth into the source" - Neal Morse
|
|
|
|
|
Because CHARINDEX is?
modified 8-Oct-15 19:19pm.
|
|
|
|
|
Sander Rossel wrote: When does the hurting stop?
Generally, the hurt lessens with each paycheck.
I use many different database systems. I also have to deal with the various ways of wrapping table and column names in the various databases: [] , "" , `` , etc. And parameter prefices: @ , : .
But it's Caché with is lack of operator precedence that wins the prize as worst (yes, worse than Access and Excel).
Anyway... now and again I work on a technique to deal with these issues. My current technique looks a bit like this:
internal enum SQL
{
[System.ComponentModel.DescriptionAttribute("Get a User record by Name")]
[PIEBALD.Attribute.SqlServerStatementAttribute
(
@"
SELECT [blah] , [blah] , [blah] FROM [UserTable] WHERE [Name]=@Param0
"
,
1
)]
[PIEBALD.Attribute.OracleStatementAttribute
(
@"
SELECT ""blah"" , ""blah"" , ""blah"" FROM ""UserTable"" WHERE ""Name""=:Param0
"
,
1
)]
[PIEBALD.Attribute.MySqlStatementAttribute
(
@"
SELECT `blah` , `blah` , `blah` FROM `UserTable` WHERE `Name`=@Param0
"
,
1
)]
GetUserByName
}
This has the added benefit that it keeps all the various versions of the SQL together rather than having separate files or classes for each type of database and never knowing whether or not you are keeping them maintained properly.
Then in the application, I need refer only to the enumeration members, and my framework will select the correct version of the SQL for the particular ADO.net provider in use at the moment. (Yes, I might write yet another Data Access article.)
Very few applications actually need this, but it's good exercise.
|
|
|
|
|
PIEBALDconsult wrote: Very few applications actually need this, but it's good exercise. And fun!
Unless, of course, you need to get things done quick...
|
|
|
|
|
All three work with the ANSI/ISO standard which is "" . MySQL have to be set in ANSI mode though.
Parameter prefices is a real pain though, especially the ansi standard ? which is positional only.
|
|
|
|
|
PIEBALDconsult wrote: wrapping table and column names
He/She who uses spaces in table/field names should be publicly flogged! Even in this day and age, one of the items on my TODO list is reverse engineering a report a client sent to create a data pull from their 'new' Access 97 based inventory system and it's chock full of spaces in table and field names. Whenever possible, I avoid unnecessary wrapping...but that's just me.
"Go forth into the source" - Neal Morse
|
|
|
|
|
I'm doing a lot of ETL/import, I see it all -- SPACEs, ASTERISKs, SLASHes, DOTs, reserved words, etc. I prefer to strike back first and wrap everything.
|
|
|
|
|
Sander Rossel wrote: When does the hurting stop?
When you stop expecting Microsoft to conform to any standard other than what feels good to them this week, the pain will subside. Not stop, but subside some...
Will Rogers never met me.
|
|
|
|