Cade Bryant


Technical Article

View all settings for all databases on your server

My stored procedure, sp_dbsettings, allows you to view, in a cross-tabular format, all the common options and their values for all the databases on your server.  Optionally, you can pass a database name as an argument if you just want to view the settings for one database (i.e., EXEC sp_dbsettings 'Northwind').  Otherwise it shows info […]

You rated this post out of 5. Change rating

2002-10-09

649 reads

Technical Article

Find the Nth Occurrence of a Character in a String

T-SQL's CHARINDEX() function is a useful for parsing out characters within a string.  However, it only returns the first occurrence of a character.  Oftentimes one needs to locate the Nth instance of a character or a space, which can be a complicated task in standard T-SQL.  This function I wrote, imaginatively named CHARINDEX2(), allows one […]

(11)

You rated this post out of 5. Change rating

2002-09-27

32,443 reads

Technical Article

Stored procedure sp_for

The sp_for procedure provides simple single-statement loop processing for T-SQL statements, similar to the FOR command in the C language or the DOS command-line utility by the same name.It's syntax is similar to that of the DOS command.  It takes an argument to represent a variable, initialize the variable, set an increment, set an end […]

You rated this post out of 5. Change rating

2002-09-13

907 reads

Technical Article

FASTCOUNT() User-Defined Function (SQL 2000 only)

SQL Server's COUNT() function is a slow and expensive way to count a table's rows because it scans the entire table or index.  FASTCOUNT(), which I created, is much more efficient for this purpose - its only drawback being that it may return inaccurate results if a nonlogged (e.g., bulk) data modification operation was recently […]

You rated this post out of 5. Change rating

2002-09-10

858 reads

Technical Article

Using UDFs to avoid cursors

Let's say you have 2 tables: a Contacts table and a PhoneNumbers table (which stores all the phone numbers for each contact).  You are asked to write a query that returns each contact's name and a comma-delimited string of phone numbers for each contact, something like this:FirstName    LastName   PhoneNumbers---------    --------   --------------------------John      […]

You rated this post out of 5. Change rating

2002-07-22

1,035 reads

Technical Article

Preventing accidental overwrites with update SPs

Say you wanted to create an SP for updating records in a database.  How would you do this in such a way as to allow your users to edit only a subset of fields in the record, without overwriting the other fields, and without requiring verbose IF blocks and CASE statements in your code?Simple.  Use […]

You rated this post out of 5. Change rating

2002-04-16

211 reads

Blogs

Monday Monitor Tips: AI Query Analysis

By

AI is everywhere. It’s in the news, it’s being added to every product, management...

AI: Blog a Day – Day 8: RAG – Retrieval Augmented Generation

By

RAG — Retrieval Augmented Generation. we have covered so far — embeddings, vectors, vector...

AI: Blog a Day – Day 7: Vector and Vector Databases

By

Continuing from Day 6 we learned Embeddings, Semantic Search and Checks, on Day 7...

Read the latest Blogs

Forums

I'm thinking about submitting some articles

By Doctor Who 2

I've written some documentation on using different Markdown types of files on GitHub. It's...

Not Just an Upgrade

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Not Just an Upgrade

Restoring On Top I

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Restoring On Top I

Visit the forum

Question of the Day

Restoring On Top I

I am doing development work on a database and want to keep a backup so I can reset my database. I make some changes and want to restore over top of my changes. When I run this code, what happens?

USE Master
BACKUP DATABASE DNRTest TO DISK = 'dnrtest.bak'
GO

USE DNRTest
GO
CREATE TABLE MyTest(myid INT)
GO
USE master
RESTORE DATABASE DNRTest FROM DISK = 'dnrtest.bak' WITH REPLACE

See possible answers