|
I'd say T-SQL has SQL92 in it since T-SQL is essentially a superset, but I know what you mean.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Fair point, it cuts both ways.
Would you call one or the other a superset in relation?
|
|
|
|
|
T-SQL is roughly a superset of SQL92
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Yeah that makes sense. I think in my head I lump T-SQL and PL/SQL together as DDL/DML.
|
|
|
|
|
jochance wrote: When you look for things, look for ANSI SQL.
Been doing DB for 40 years and that never came up.
First of course the goal is the enterprise solution and not the nuts and bolts. Architecture and design matter far more.
Most SQL is rather easy an mundane. And ANSI SQL works for that.
But more complex problems cannot be done at all in ANSI SQL. So attempting to limit oneself to that means ignoring features of the database that have been optimized over years or even decades to provide features like that. Versus silly things like attempt to figure out how to do it in a programming language rather than using the database itself.
Not to mention of course the real costs associated with licensing, maintenance and even the real cost of using existing knowledge of a technology versus attempting a new one.
So even if you can find a database that is not compliant, especially for most of the major parts, the consideration is just not worth the time.
|
|
|
|
|
For my part, as long as the database supports SQL92 as a baseline I'm willing to learn some of the DB specific features I need to be effective with it. I just intend to lean heavily on common SQL that works across DBs where I can.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
honey the codewitch wrote: as long as the database supports SQL92
You would probably need to look really hard to find a SQL one that doesn't do that.
|
|
|
|
|
Yeah, but I just wanted to be clear, and also eliminate the possibility of any half arsed implementations.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
:cough: Cache :cough:
(Not fully SQL92 compliant. Worst is lack of order-of-operations.)
|
|
|
|
|
|
|
|
Doesn't say SQL-92 compliant, only that it has at least some features.
"
SQL-92 Compliance
The SQL-92 standard is imprecise with regard to arithmetical operator precedence; assumptions on this matter differ amongst SQL implementations. Caché SQL supports two system-wide alternatives for SQL arithmetic operator precedence:
By default, Caché SQL parses arithmetic expressions in strict left-to-right order, with no operator precedence. This is the same convention used in ObjectScript. Thus, 3+3*5=30. You can use parentheses to enforce the desired precedence. Thus, 3+(3*5)=18.
You can configure Caché SQL to parse arithmetic expressions using ANSI precedence, which gives higher precedence to multiplication and division operators than addition, subtraction, and concatenation operators. Thus, 3+3*5=18. You can use parentheses to override this precedence, where desired. Thus, (3+3)*5=30.
Caché SQL supports the complete entry-level SQL-92 standard with the following exceptions:
There is no support for adding additional CHECK constraints to a table definition.
The SERIALIZABLE isolation level is not supported.
Delimited identifiers are not case-sensitive; the standard says that they should be case-sensitive.
Within a subquery contained in a HAVING clause, one is supposed to be able to refer to aggregates which are “available” in that HAVING clause. This is not supported.
" -- Introduction to Caché SQL | Using Caché SQL | Caché & Ensemble 2018.1.4 – 2018.1.9[^]
|
|
|
|
|
It's the portability aspect.
Things went many directions at once.
Value outpaced usefulness.
|
|
|
|
|
jochance wrote: Oracle does 'sequences' and MSSQL has 'identity'.
SQL Server has sequences and everyone should use them. No one should ever use identities or other auto-numbers.
|
|
|
|
|
Yeah they haven't been around forever on that side but I remember liking them on the other.
|
|
|
|
|
I liked sequences in Oracle enough to implement my own in SQL Server before they were built-in.
"
When were sequences added to SQL Server?
The sequence object was introduced with the rollout of SQL Server 2012.
"
modified 20-Jul-24 9:47am.
|
|
|
|
|
honey the codewitch wrote: Mysql is another option and might be worth learning
There are two parts: Programming and Operations.
For the first the vast majority between the major SQL databases are similar enough that one can get through it. There can be gotchas for things like the exact way one creates a stored proc but examples allow one to get through it.
At least for me one problem with MySQL which I only just recently learned is that it has a history of 'losing' the seed indexes (auto increment). I can't state for certain how significant a problem it is in general but it seemed pretty significant to me that it happened at all.
As for Operations I think you need to carefully consider your commitment to handling this for your users. Given your other posts maybe this must be a server only solution but I will say that the cloud solutions eliminate the vast majority of maintenance work and can be very low cost as long as one very carefully throttles everything.
|
|
|
|
|
I don't really want to add another paid service to my list of worries, as anything that costs me money is just more potential source for anxiety - like for example, when my bank card's fraud protection kicks in and cancels my card even though it shouldn't have, and then all my autopays need to be redone.
So like, I keep it minimal. I'm more concerned about operations than programming, so otherwise a cloud solution would be ideal, but maybe I'll check to see if my existing VPS provider offers it. Adding extra cost to an existing bill is something i'm much more inclined to do vs adding another bill.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
I once tried the free Postgres hosting option of Heroku, but could not get it working sadly, it all seemed geared towards their "app ecosystem" which I was not interested in. Anyway they stopped offering the free option, so it's best to look elsewhere.
Maybe one of these: Top 9 free online databases[^]
|
|
|
|
|
>history of 'losing' the seed
Was it multi-instanced?
|
|
|
|
|
Yes? I didn't research it that much.
|
|
|
|
|
If you want an easy setup for Postgresql you can try this: https://pigsty.io/
|
|
|
|
|
|
From what I know, MSSQL exists for Linux also.
growing up with Multics, learning UNIX and then Linux for over 25 years, I abandoned that platform completely for Microsoft when I found that my peers had used Microsoft products and they were able to upgrade their solutions as time passed. I had to fight every time with Unix/Linux changes.
After 15 years on the Microsoft path I have never looked back and I am going on 40 years of developing software and I can maintain and upgrade applications from even 20 years ago.
Having software out there bringing you rent, the better off you are and the more time you have to develop.
That learning curve is bad enough with new technology alone, so I advise you to stick with your tools.
I wish you luck!
|
|
|
|