Scripts

Technical Article

List Table Definition

System Stored Procedure to List the Table Definition of a table as a printable report. The procedure must exist in the master database. This works for any table in the current database. Do not fully qualify the tablename. Calling sample: use pubs exec sp_listtabledef 'authors'

(3)

You rated this post out of 5. Change rating

2001-12-18

3,437 reads

Technical Article

OSQL Process Watcher

These 2 files plus sleep.exe (Resource kit) gives an administrator a good view of important blocking statistics in almost a real time fashion. You can use this with profiler to obtain some unique information very fast on a lead blocker if your gathering the right counters in profiler and dumping them in a table and […]

You rated this post out of 5. Change rating

2001-12-10

573 reads

Technical Article

Pass an Array into a Stored Procedure

Have you ever wished T-SQL allowed you to pass an array into a stored procedure? Well the spListToTable stored procedure listed below accepts a delimeted string and turns it into a table. Code your stored procedure to accept a varchar, create a temporary table, call spListToTable, and use the populated temporary table as if it […]

(4)

You rated this post out of 5. Change rating

2001-12-10

2,877 reads

Technical Article

Fix - Orphaned User Connections

Run the '1'-first script.This stored procedures will easily script all the logins and passwords, which will then help you to transfer them to another SQL Server. Run the '2' - Second Script. This will fix the Orphane Connections. Run the '3' - Third Script. Fixing some Orphaned Users left after step 2. NOTE: Script below […]

(1)

You rated this post out of 5. Change rating

2001-12-09

2,178 reads

Technical Article

How to Short-circuit Where Clauses

There are many times when you might be concatenating text in a stored procedure to make a where clause, because the input parameters are optional. An alternative is to create many versions of the stored procedure - one for each possible combination of parameters - which can soon become too big. There is a more […]

(4)

You rated this post out of 5. Change rating

2001-11-25

4,295 reads

Technical Article

Loop through records without using a cursor

I sometimes have to loop through records in a database and perform a specific action on the value that is returned. For example, In the script below I loop through the user tables in sysobjects and simply print them out. This technique is useful when dropping all indices/triggers on a particular table, or adding WITH […]

(2)

You rated this post out of 5. Change rating

2001-11-25

9,192 reads

Blogs

Stop Using Pandas for Aggregations — Try DuckDB Instead

By

If you've ever loaded a 2 GB CSV into pandas just to run a...

Understanding Fabric Ontology

By

What problem is Fabric Ontology trying to solve? For years, most data conversations have...

QUOTENAME Basics: #SQLNewBlogger

By

Recently I ran across some code that used a lot of QUOTENAME() calls. A...

Read the latest Blogs

Forums

Database Mail in SQL Server 2022

By Abdellateef Ibrahim

Comments posted to this topic are about the item Database Mail in SQL Server...

Stairway to Reliable Database Deployment Level 3 – Rehearsing Changesets Across Environments

By Massimo Preitano

Comments posted to this topic are about the item Stairway to Reliable Database Deployment...

QUOTENAME Quote Parameters

By Steve Jones - SSC Editor

Comments posted to this topic are about the item QUOTENAME Quote Parameters

Visit the forum

Question of the Day

The string_agg function

We create the following table and then insert some records in it:

create table t1 (
   id int primary key,
   category char(1) not null,
   product varchar(50)
);

insert into t1 values
(1, 'A', 'Product 1'),
(2, 'A', 'Product 2'),
(3, 'A', 'Product 3'),
(4, 'B', 'Product 4'),
(5, 'B', 'Product 5');
What happens if we execute the following query in both Sql Server and PostgreSQL?
select id, 
category, 
string_agg(product, ';')
                 over (partition by category order by id
                 rows between unbounded preceding and unbounded following) as stragg
from t1;

See possible answers