Lesson 42/100

Tutorials SQL Server Tutorial

Dynamic SQL — Complete Guide

Dynamic SQL — Complete Guide: free step-by-step lesson with examples, common mistakes, and interview tips — part of SQL Server Tutorial on Toolliyo Academy.

On this page

SQL Server Tutorial · Lesson 42 of 100

Dynamic SQL

SQL basics ✓QueriesAdvanced

Queries · 2 — JOINs · ~6 min · SQL — Stored Procedures & Functions

What is this?

Dynamic SQL builds a statement string and runs it with sp_executesql. Use it when object names or shapes must vary — carefully.

Why should you care?

Admin tools may query a table name chosen at runtime. Dynamic SQL is powerful and dangerous if concatenated with user input.

See it live — copy this example

Run in SQL Server Management Studio (SSMS) or Azure Data Studio.

USE DataVerse;
DECLARE @City NVARCHAR(50) = N'Mumbai';
DECLARE @sql NVARCHAR(MAX) = N'
SELECT OrderId, Amount
FROM dbo.Orders
WHERE City = @pCity
ORDER BY OrderId DESC;';
EXEC sys.sp_executesql
    @sql,
    N'@pCity NVARCHAR(50)',
    @pCity = @City;

What happened?

  • The filter value is passed as a typed parameter to sp_executesql — not pasted into the string.
  • That blocks classic injection on @City.

Practice next

  1. Run the parameterized dynamic example.
  2. Change @City to Pune.
  3. Never concatenate @City into @sql with +.
  4. Add a second parameter @MinAmount.
  5. Print @sql before exec while learning.

Remember

Prefer static SQL first. Use sp_executesql with parameters. Whitelist dynamic identifiers.

Safe optional filters

DataVerse search builds optional clauses with parameters.

Outcome: Flexible filters without injection holes.

Interview prep for this lesson

Practice these questions aloud after reading—each links to a full structured answer.

Mid PDF Detailed
What are the differences between SQL and NoSQL databases?
Short answer: SQL Databases (Relational Databases): These are structured databases that use Structured Query Language (SQL) for defining and manipulating data. Explain a bit more They store data in tables with rows and c…
Mid PDF Detailed
Query Performance:?
Short answer: Use EXPLAIN or QUERY PLAN to analyze query execution times and identify slow queries. Track metrics like response time, execution time, and query throughput. Real-world example (ShopNest) ShopNest adds an i…
Mid PDF Detailed
Start with 1NF: Ensure that the table has no repeating groups or arrays, and each?
Short answer: record has a unique identifier. Real-world example (ShopNest) Product and Category are separate tables (normalized). The order line stores product id + price snapshot—not a giant duplicated product blob. Sa…
Junior PDF Detailed
Define Roles: Define different roles based on business requirements (e.g., admin,?
Short answer: Define Roles: Define different roles based on business requirements (e.g., admin,? is a common interview topic in SQL & Databases. Give a clear definition, then one concrete example. Say this in the int…
Mid PDF Detailed
Slower Queries: Fragmented indexes cause the database engine to read more data?
Short answer: pages, slowing down query performance. Real-world example (ShopNest) ShopNest adds an index on Orders(CustomerId, CreatedAt) because “my recent orders” is queried constantly. Say this in the interview Defin…
Questions on this lesson 0

Sign in to ask a question or upvote helpful answers.

No questions yet — be the first to ask!

SQL Server Tutorial
Course syllabus

SQL Server Tutorial

SQL — Foundations
SQL — SQL Queries & Clauses
SQL — Joins & Relationships
SQL — Indexing & Performance
SQL — Stored Procedures & Functions
SQL — Transactions & Concurrency
SQL — Advanced SQL Server
SQL — Security & High Availability
SQL — 2022 & Cloud
SQL — Real-World Projects
Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details