IN vs OR in the SQL WHERE clause

I assume you want to know the performance difference between the following: WHERE foo IN (‘a’, ‘b’, ‘c’) WHERE foo = ‘a’ OR foo = ‘b’ OR foo = ‘c’ According to the manual for MySQL if the values are constant IN sorts the list and then uses a binary search. I would imagine that … Read more

postgresql: INSERT INTO … (SELECT * …)

As Henrik wrote you can use dblink to connect remote database and fetch result. For example: psql dbtest CREATE TABLE tblB (id serial, time integer); INSERT INTO tblB (time) VALUES (5000), (2000); psql postgres CREATE TABLE tblA (id serial, time integer); INSERT INTO tblA SELECT id, time FROM dblink(‘dbname=dbtest’, ‘SELECT id, time FROM tblB’) AS … Read more

Calculate a Running Total in SQL Server

Update, if you are running SQL Server 2012 see: https://stackoverflow.com/a/10309947 The problem is that the SQL Server implementation of the Over clause is somewhat limited. Oracle (and ANSI-SQL) allow you to do things like: SELECT somedate, somevalue, SUM(somevalue) OVER(ORDER BY somedate ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS RunningTotal FROM Table SQL Server gives … Read more

How to get last inserted id?

For SQL Server 2005+, if there is no insert trigger, then change the insert statement (all one line, split for clarity here) to this INSERT INTO aspnet_GameProfiles(UserId,GameId) OUTPUT INSERTED.ID VALUES(@UserId, @GameId) For SQL Server 2000, or if there is an insert trigger: INSERT INTO aspnet_GameProfiles(UserId,GameId) VALUES(@UserId, @GameId); SELECT SCOPE_IDENTITY() And then Int32 newId = (Int32) … Read more

Create PostgreSQL ROLE (user) if it doesn’t exist

Simple script (question asked) Building on @a_horse_with_no_name’s answer and improved with @Gregory’s comment: DO $do$ BEGIN IF EXISTS ( SELECT FROM pg_catalog.pg_roles WHERE rolname=”my_user”) THEN RAISE NOTICE ‘Role “my_user” already exists. Skipping.’; ELSE CREATE ROLE my_user LOGIN PASSWORD ‘my_password’; END IF; END $do$; Unlike, for instance, with CREATE TABLE there is no IF NOT EXISTS … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)