Related resources for Sql Server
  • Conditional Split in SQL Services Integration Services (SSIS)12/23/2024 9:16:38 AM. Conditional Split in SQL Server Integration Services (SSIS) allows you to route data based on specific conditions within a data flow. It is used to direct data into different paths, enabling dynamic d
  • "Hello World!" In 20 Different Programming Languages12/23/2024 4:03:51 AM. In this article, we are going to see how to print “Hello World” in 20 different programming languages. Explore how to print "Hello, World!" in 20 popular programming languages, showcasing sy
  • Create FTP Task in SQL Server Integration Services 12/19/2024 11:18:54 AM. Learn how to create and configure an FTP Task in SQL Server Integration Services (SSIS). This task simplifies automated file transfers using the FTP protocol, making it essential for ETL processes.
  • Unlocking Faster INSERT Operations in SQL Server with TABLOCK12/17/2024 6:48:30 AM. In this article learn how using the TABLOCK hint in SQL Server can significantly speed up INSERT operations by reducing logging overhead and enabling parallel insertions.
  • SQL Server ACID Properties12/16/2024 8:24:34 AM. Understanding SQL Server ACID(Atomicity, Consistency, Isolation, Durability) Properties. This article explains ACID properties—Atomicity, Consistency, Isolation, and Durability—highlighting their impo
  • Automating Table Creation using SSIS12/10/2024 8:44:47 AM. In this article, we will see how to create a database table in SQL Server using the SSIS package. Learn how to create a database table in SQL Server using an SSIS package. Follow step-by-step instruct
  • Understanding Triggers in SQL Server12/9/2024 7:29:47 AM. SQL Server triggers are automated procedures executed on DML/DDL events. This guide explores trigger types, real-world examples, and implementations for logging, validation, and restriction in SQL Ser
  • Token Caching in .NET 8 with Microsoft Entra ID12/7/2024 3:22:18 AM. Learn how to optimize .NET 8 web apps with token caching using Microsoft Entra ID. Discover in-memory and distributed caching strategies to boost performance, reduce latency, and improve scalability i
  • Unit Test (2) --- TSQLT12/7/2024 2:51:50 AM. This article will discuss TSQLT Unit Test.
  • INSERT INTO and SELECT INTO: Which is Better?12/6/2024 5:50:06 AM. In this article, we’ll explore the differences between these two methods, their impact on temporary tables, and practical recommendations for SQL developers, data engineers, and DBAs. Using examples f
  • ASP.NET Core CRUD using Dapper, .NET 8 using SQL Server12/5/2024 7:18:42 AM. Learn to build a CRUD (Create, Retrieve, Update, Delete) application in ASP.NET Core MVC using .NET 8 and Dapper ORM. This guide covers creating models, repositories, controllers, and Razor views with
  • Learning SEQUENCE in SQL Server11/28/2024 6:02:51 AM. A SEQUENCE in SQL Server is a user-defined object that generates a sequence of numeric values in a specified order. Unlike identity columns, SEQUENCE objects are independent of tables, offering flexib
  • Renaming a Database in SQL Server11/27/2024 5:11:47 AM. Renaming a database in SQL Server is vital for tasks like aligning naming conventions, testing, or version control. It involves setting the database to single-user mode, ensuring no active connections
  • Rank Functions in SQL server11/26/2024 6:44:08 AM. In this article, we will learn about Rank functions in SQL Server, like RANK(), DENSE_RANK(), ROW_NUMBER(), and NTILE(), are used to assign rankings to rows within a result set.
  • JSON Data Handling in SQL Server11/26/2024 4:58:34 AM. SQL Server supports JSON for managing semi-structured data. You can store JSON in NVARCHAR(MAX) columns, parse it with JSON_VALUE, JSON_QUERY, and OPENJSON, and modify it using JSON_MODIFY.
  • New Features in SQL Server 2025: A Guide for Data Engineers11/24/2024 5:46:37 AM. SQL Server 2025 introduces advanced AI integration, vector support, and performance upgrades like optimized locking and enhanced columnstore indexing. New features include JSON data type, regular expr
  • Data Cleansing in SQL Server11/24/2024 5:13:36 AM. Learn the essentials of Data Cleansing in SQL Server to enhance data quality and reliability. This guide covers techniques like removing duplicates, handling null values, standardizing formats, and tr
  • Exploring SQL Databases in Microsoft Fabric11/22/2024 11:29:28 AM. Microsoft Fabric now integrates SQL databases, bridging transactional and analytical workloads in a unified platform. It enables cloud-native data storage in OneLake, supporting Parquet and Delta form
  • Comparison Between SQL and MongoDB Database11/22/2024 5:23:46 AM. SQL and NoSQL(MONGO) DB Comparison. This article compares MS SQL Server and MongoDB, highlighting their development, data models, schemas, performance, and query mechanisms, aiding in understanding th
  • User-Defined Functions in SQL Server11/21/2024 5:14:12 AM. SQL Server supports two types of User-Defined Functions (UDFs): Table-Valued and Scalar-Valued. Table-valued functions return a table based on logic, while Scalar-Valued functions return a single valu
  • Temporary Tables vs Table Variables in SQL Server Explained11/19/2024 10:49:20 AM. This article explores their key distinctions, advantages, and ideal applications, helping users understand when to use each for better query performance and resource optimization.
  • Unlocking the Power of the SELECT Feature in SQL Server11/18/2024 12:04:57 PM. This article explores the basics of the SQL Server SELECT statement, demonstrating how to query data from tables using practical examples. Learn how to fetch specific columns, improve query performanc
  • Beginner's Guide to CRUD Operations in .NET Core 8 Web API11/12/2024 7:30:14 AM. This guide walks you through creating a .NET Core 8 Web API for managing employee data with full CRUD operations. Using Entity Framework Core, you’ll define models, connect to a SQL database, create e
  • BIT Functions New T-SQL Enhancements in SQL Server10/30/2024 5:58:33 AM. In this article, we’ll explore some of BIT functions new enhancements in SQL Server 2022, their practical applications, and a modified example to demonstrate their usage.
  • Securing Remote Access to SQL Server10/30/2024 5:39:48 AM. Securing remote access to SQL Server is paramount for data protection and compliance. Explore methods like VPNs, firewalls, encryption, and multi-factor authentication for enhanced security and protec
  • Create a Model with Database Table in .NET 8 using EF Core10/28/2024 7:16:12 AM. This article guides you through creating a data-driven application using .NET 8 and Entity Framework Core. You'll learn to define a model, configure a DbContext, set up a SQL Server connection str
  • Efficient Data Handling in SQL Server with Table-Valued Parameters10/27/2024 5:52:26 AM. This article delves into how TVPs enhance performance by enabling the transfer of multiple rows of data in a single parameter, streamlining stored procedures, and optimizing database operations.
  • TRIM Function New T-SQL Enhancements in SQL Server10/25/2024 10:44:09 AM. The enhanced TRIM function in SQL Server 2022 adds flexibility for removing unwanted characters in strings, beyond just spaces. Now, developers can use BOTH, LEADING, and TRAILING keywords to trim fro
  • GENERATE_SERIES Function New T-SQL Enhancements in SQL Server10/25/2024 6:06:40 AM. The GENERATE_SERIES function in SQL Server 2022 creates sequences of numbers or dates between specified start and end values, with an optional step. It's beneficial for reporting, filling data gap
  • Check Constraint in SQL Server 201210/16/2024 9:55:46 AM. A Check Constraint in SQL Server enforces Domain Integrity by ensuring valid values for specific table columns. It restricts invalid data entries, rejects values that don't meet set conditions, an
  • STRING_SPLIT() Ordinal New T-SQL Enhancements in SQL Server10/16/2024 9:01:22 AM. The STRING_SPLIT() function in SQL Server, introduced in 2016, allows for splitting delimited strings into rows. The 2022 enhancement introduces an optional ordinal parameter, enabling retrieval of ea
  • Least and Greatest New T-SQL Enhancements in SQL Server10/15/2024 11:42:36 AM. Discover the least and greatest T-SQL enhancements in SQL Server 2022! This article explores the new features and improvements that elevate data manipulation and performance.
  • How To Delete Duplicate Rows From A Table In SQL Server10/12/2024 5:29:23 AM. This guide explains how to delete duplicate rows from a table in SQL Server. Using common techniques like ROW_NUMBER() with PARTITION BY, you can identify and remove duplicate rows while keeping the o
  • Get All Instances of SQL Server in C#10/11/2024 12:29:27 PM. If you're writing a Database Manager application or simply want to retrieve all the instances,this trick might come in handy.
  • DATETRUNC New T-SQL Enhancements in SQL Server10/9/2024 6:48:59 AM. This new feature simplifies date truncation by allowing developers to truncate dates to specific intervals, such as year, month, or day. It improves query performance and data manipulation in SQL.
  • Backup And Restore Your Database Using SQL Server Management Studio (Step by Step)10/8/2024 8:54:22 AM. In this article you will learn how to upload your App to Windows Store (Step by Step), backup and restore your database using SQL Server Management Studio (Step by Step).
  • How To Send Mail Using SQL Server: Part 210/8/2024 8:32:47 AM. This tutorial demonstrates how to send emails using SQL Server 2008. It covers configuring an email profile, selecting data from a student table (tblStudents), and binding that data to an HTML-formatt
  • DATE_BUCKET Function New T-SQL Enhancements in SQL Server10/5/2024 6:28:43 AM. This article will delve into the DATE_BUCKET function, its syntax, and its practical use cases using the AdventureWorks2022 sample database. We’ll also compare DATE_BUCKET with other similar T-SQL fun
  • IS [NOT] DISTINCT FROM New T-SQL Enhancements in SQL Server10/4/2024 6:15:00 AM. The "IS [NOT] DISTINCT FROM" operator is one of the key new T-SQL enhancements in SQL Server 2023. It simplifies SQL queries by handling NULL comparisons more efficiently, improving data int
  • A Fix To PolyBase Issue In SQL Server 2019 Developer Edition10/3/2024 1:16:46 PM. This article will introduce the problem, the reason and the fix related to a PolyBase issue when installing the SQL Server Developer Edition 2019.
  • Generate or find Connection String from Visual Studio10/3/2024 11:44:59 AM. This guide covers various methods, including using the Connection String Builder, accessing app.config and web.config files, and integrating with SQL Server and Entity Framework. Mastering connection
  • NTile Function in SQL Server10/3/2024 11:44:37 AM. The NTile function in SQL Server divides a result set into a specified number of groups, assigning ranks to records within each group. Unlike Dense_Rank, NTile focuses on groups rather than individual
  • Creating Stored Procedures with Managed Code10/3/2024 11:41:01 AM. This article demonstrates how to create a stored procedure in Microsoft SQL Server 2005 using managed code in C#. It details the process of setting up a SQL Server project in Visual Studio, writing th
  • How to Use a Cursor in SQL?10/3/2024 11:08:13 AM. A cursor in SQL is a database object that allows row-by-row processing of query results. It enables you to iterate through a result set, perform operations on each row, and manage data more efficientl
  • A Detailed Explanation of COUNT in SQL Server10/1/2024 5:10:59 AM. This article explores the differences between SQL counting methods: COUNT(*), COUNT(1), COUNT(column_name), and COUNT(DISTINCT column_name). It highlights their purposes, performance considerations, a
  • Rank and Dense_Rank Function in SQL Server9/30/2024 4:48:24 AM. RANK and DENSE_RANK functions in SQL Server assign sequential numbers to rows based on ordering. RANK skips numbers for ties, while DENSE_RANK does not. Both can partition results using the PARTITION
  • How to Send Mail Using SQL Server: Part 39/27/2024 10:16:21 AM. In this third installment of our series, "How to Send Mail Using SQL Server," we delve into the configuration and implementation of Database Mail. Learn how to set up SMTP settings, create m
  • Inserting Form Data Into DataBase Using Stored Procedure In ASP.NET C#9/27/2024 10:10:24 AM. Learn how to insert form data into a database using stored procedures in ASP.NET with C#. This guide covers setting up a form, handling user input, creating a stored procedure, and securely inserting
  • How To Add Dependency Injection In Your Sitecore Application9/27/2024 8:17:09 AM. Dependency Injection (DI) is a design pattern that enhances code maintainability and reusability by allowing developers to create loosely coupled components. It facilitates unit testing and supports v
  • Getting Started with Azure SQL Database – A Beginners Guide9/27/2024 7:19:23 AM. A quick introduction to Azure SQL Database that showcases some key offerings and highlights the flexibility and scalability that comes with it.
  • How To Get Unique Records Without Using Distinct In SQL Server9/26/2024 4:35:41 AM. In this guide, you'll learn how to retrieve unique records in SQL Server without using the DISTINCT keyword. We'll explore alternative methods like GROUP BY, ROW_NUMBER(), and Common Table Exp
  • Schedule Background Jobs Using Hangfire In ASP.NET Core9/24/2024 9:04:17 AM. Hangfire is an open-source library for ASP.NET Core that simplifies scheduling and monitoring background tasks like data processing and email reminders. By using Hangfire, you can create fire-and-forg
  • Check Disk Space Utilization by Tables in SQL Server Database9/23/2024 8:53:17 AM. In this guide, learn how to effectively check disk space utilization by tables in a SQL Server database. We’ll cover essential SQL queries and techniques to analyze table sizes, identify storage usage
  • How to Keep SQL Server Table Columns in Sync9/19/2024 4:29:35 AM. how to keep columns in sync across SQL Server tables using efficient methods like triggers, SQL scripts, and the MERGE statement.
  • Create Backup and Restore Database in SQL Server9/18/2024 9:01:35 AM. This tutorial covers essential techniques for backing up your databases, restoring them when needed, and ensuring data safety. Master these skills to safeguard your SQL Server environment effectively.
  • Bulk Insert From ASP.NET Web Form Using C#9/17/2024 10:39:37 AM. To insert bulk records into a database from a web form, create a ProductsSold table. Design a web form with GridView, TextBoxes, and Buttons to add and display products. Use a DataTable in ViewState t
  • Overview Of Data Gateway In Power BI9/16/2024 11:19:33 AM. A Power BI Gateway connects on-premise data sources, such as SQL Server or SharePoint, to online services like Power BI. It ensures secure communication, supports both Personal and Enterprise Modes, a
  • Entity Framework In MVC - Part Three9/12/2024 12:12:57 PM. This article explains the Code First approach in MVC using Entity Framework. It covers creating a new database from domain classes, reverse engineering an existing database to generate POCO classes, a
  • Entity Framework Core Feature - Global Query Filters9/12/2024 5:59:39 AM. Learn how to implement Global Query Filters in Entity Framework to apply automatic filters at the model level. This feature is commonly used for scenarios like soft delete and multi-tenancy, ensuring
  • Configure SQL Server Session State In ASP.NET Core9/12/2024 5:49:48 AM. This guide covers setting up SQL Server as a session storage provider, configuring the connection string, enabling session middleware, and ensuring session persistence for scalable web applications.
  • CRUD Operation Using Repository Unit Of Work Pattern9/12/2024 5:44:14 AM. Create an ASP.NET MVC project in Visual Studio 2013, add a class library, and set up a SQL Server database. Implement Entity Framework with an EDMX model, then use the Repository pattern for CRUD oper
  • Configure Data Gateway With SQL Server Database Using Recommended Or Enterprise Mode9/12/2024 5:10:58 AM. This article explains how to configure a Data Gateway for an On-Premise SQL Server Database using Power BI's Recommended Mode. It covers the installation steps, including downloading and setting u
  • Database Mail Configuration in SQL Server 20089/10/2024 10:16:49 AM. Learn how to configure Database Mail in SQL Server 2008 with this guide. Discover step-by-step instructions for setting up email profiles, configuring SMTP settings, and managing mail settings using S
  • Export Data Table To Excel in ASP.Net MVC 49/5/2024 11:09:19 AM. This article demonstrates exporting a Data Table to Excel in ASP.NET MVC. It covers creating a new project, adding a ClosedXML reference, and setting up models and controllers. It details fetching dat
  • How To Implement CKEditor In ASP.NET MVC9/5/2024 10:45:12 AM. CKEditor is a powerful, browser-based WYSIWYG editor that simplifies HTML content creation. It integrates seamlessly with ASP.NET MVC, allowing users to easily create and manage rich text content.
  • Temporary Tables vs Table Variable in SQL Server9/5/2024 7:20:02 AM. In this article you will learn about Temporary Tables and Table Variables in SQL Server 2008. Temporary tables come in two types: Local (prefixed with "#", accessible only to the current con
  • What are Temporary Tables in SQL Server?9/5/2024 7:19:46 AM. Temporary tables in SQL Server, stored in tempdb, assist with short-term data management. They come in Local (scope limited to current connection, prefixed with "#") and Global (accessible t
  • Database Mail in SQL Server 2008R29/4/2024 8:38:30 AM. Database Mail in SQL Server 2008 R2 enables sending emails directly from SQL Server using SMTP. It supports job alerts, query results, and file attachments, ensuring consistent, scalable, and secure e
  • GridView Paging Sample in ASP.NET9/4/2024 8:21:34 AM. Learn how to implement various paging styles in ASP.NET GridView using C#. This guide covers binding SQL Server data to a GridView, enabling paging, and customizing pager settings like Numeric, NextPr
  • Configure SQL Server Database Mail for Sending Emails9/4/2024 7:01:19 AM. This guide covers the step-by-step process for setting up Database Mail, including creating and managing mail accounts, profiles, and ensuring your SQL Server can successfully send email notifications
  • Introduction to SQL Server & Its History9/2/2024 7:10:06 AM. Learn how to create, manage, and query databases using SQL Server, with a focus on essential concepts like database design, data storage, and SQL queries. Perfect for beginners aiming to build a stron
  • Learn Database Mail in SQL Server8/29/2024 10:53:40 AM. Database Mail in SQL Server is a robust feature that enables sending emails via an SMTP server without relying on MAPI clients like Outlook. It offers secure SSL encryption, asynchronous processing, e
  • Inner Join vs Cross Apply and Left Outer Join vs Outer Apply8/28/2024 5:32:30 AM. In SQL, INNER JOIN and CROSS APPLY differ in functionality; INNER JOIN merges rows based on a condition, while CROSS APPLY uses a table-valued function for dynamic row operations. LEFT OUTER JOIN incl
  • Real-Time Pageview Tracking With .NET Core8/21/2024 5:28:26 AM. Learn how to implement real-time pageview tracking in your .NET Core application. This guide covers setting up live monitoring of website traffic, capturing pageview metrics, and integrating real-time
  • Recursive CTE: Simplifying Complex Queries with SQL8/16/2024 7:14:44 AM. Recursive CTEs in SQL simplify querying hierarchical or recursive data by breaking down queries into anchor and recursive members. They are ideal for traversing structures like organizational charts o
  • SQL Server on Azure VMs vs Managed Instance vs SQL Database8/12/2024 11:18:45 AM. Based on the type of the cloud service each Relational azure service use and different aspects formulated the differences and uses cases when to use each database solution.
  • How to Upload a File to Amazon S3 with NodeJS8/6/2024 6:16:29 AM. Implementing pagination and filtering in an ASP.NET Core 8.0 API with Entity Framework Core (EF Core) is crucial for efficiently managing large datasets. This guide covers setting up the project, crea
  • Understanding ROW_NUMBER() in SQL Window Functions8/2/2024 4:46:39 AM. ROW_NUMBER() is a window function in SQL that assigns a unique number to each row within a partition of a result set. It’s useful for ranking, removing duplicates, pagination, and selecting the top N
  • Count(*) vs Count(1) in SQL8/1/2024 4:11:33 AM. When counting rows in SQL databases, both `COUNT(*)` and `COUNT(1)` are used, but there is no performance difference between them. Modern databases optimize both functions similarly. Prioritize code r
  • Create XML in .NET Core API and Send to Stored Procedure Using Dapper7/30/2024 10:43:10 AM. Learn how to create and send XML data to a stored procedure in a .NET Core Web API. This guide covers setting up a .NET Core Web API project, generating XML from data models, using Dapper for database
  • How To Connect On-Premise SQL Server From Microsoft Flow Using Azure On-Premise Data Gateway7/30/2024 4:34:24 AM. This guide covers step-by-step instructions to set up the gateway, configure data connections, and integrate your SQL Server with Flow for seamless automation and data management.
  • @@ROWCOUNT in SQL Server7/29/2024 9:28:40 AM. @@ROWCOUNT is a SQL Server function used to retrieve the number of rows affected by the last executed statement. It provides valuable insights for data manipulation and validation processes, helping t
  • Blazor Web Assembly 3.2 Add/Edit/Delete Fully Functional Application - Part One7/29/2024 8:37:43 AM. This article guides you through creating a Blazor web assembly app with .NET Core hosting. It covers setting up .NET Core APIs, Entity Framework Core for SQL Server data access, and implementing CRUD
  • Creating Maintaining Utilizing Transactions in SQL Server7/25/2024 5:25:28 AM. A transaction in SQL Server is a sequence of operations performed as a single logical unit of work. A transaction has four main properties, often referred to by the acronym ACID: Atomicity, Consistenc
  • UNION vs UNION ALL in SQL Server7/24/2024 9:28:49 AM. The SQL UNION operator combines the results of two or more SELECT statements, removing duplicate rows. In contrast, UNION ALL combines results while retaining all duplicates. UNION may impact performa
  • Understanding Table Partitioning in SQL7/24/2024 6:07:08 AM. Table partitioning is a technique in database design that divides large tables into smaller, manageable pieces called partitions. This approach improves query performance, enhances manageability, and
  • Understanding Normalization in SQL7/24/2024 4:47:41 AM. Normalization is a database design process that reduces redundancy and improves data integrity by organizing data into tables and defining relationships. It involves applying normal forms (1NF, 2NF, 3
  • Creating Triggers in SQL Server7/24/2024 4:44:18 AM. SQL Server triggers are automated procedures that execute in response to specific events, enhancing data integrity and enforcing business rules. They include DML triggers (AFTER, INSTEAD OF) for data
  • Real-World ADO.NET Use Cases: Case Studies and Best Practices7/24/2024 4:41:43 AM. ADO.NET remains a robust data access technology within the .NET framework, even as newer technologies emerge. Its ability to manage data interactions efficiently makes it suitable for a variety of rea
  • Performance Optimization in ADO.NET: Tips and Techniques7/23/2024 9:19:54 AM. Optimize ADO.NET performance by leveraging connection pooling to reduce overhead, using efficient command execution strategies such as stored procedures and batch processing, and retrieving data effec
  • Difference Between DELETE and TRUNCATE in SQL Server7/23/2024 9:18:59 AM. In SQL Server, DELETE and TRUNCATE are used to remove data from tables, each with distinct characteristics. DELETE is a DML command that logs each row deletion, supports triggers, and respects foreign
  • Advanced ADO.NET Features for Complex Data and Async Operations7/23/2024 4:39:40 AM. ADO.NET remains essential for database interactions in . NET. Advanced features include handling complex types with SQL Server's UDTs and XML data, managing binary data with VarBinary, and leverag
  • Executing Commands with ADO.NET7/22/2024 10:02:34 AM. Explore how to use ADO.NET’s SqlCommand class for executing SQL queries and stored procedures in .NET applications. This guide covers setting up SqlConnection, using methods like ExecuteNonQuery, Exec
  • Setting Up Your First ADO.NET Project7/22/2024 7:29:17 AM. ADO.NET is a set of classes that expose data access services for .NET Framework programmers. It provides a rich set of components for creating distributed, data-sharing applications. This guide will w
  • Detailed Explanation of Procedure and Function in SQL Server7/22/2024 6:22:57 AM. Stored procedures are precompiled sets of one or more SQL statements that can be executed together. Functions in SQL Server are essential database objects that contain a series of SQL statements and p
  • Working with Stored Procedures in ADO.NET7/22/2024 6:17:00 AM. Stored procedures are a powerful feature in database management systems that allow you to encapsulate complex logic and operations on the server side. When using ADO.NET in a .NET application, stored
  • Understanding the SQL Query Execution Order7/22/2024 4:41:19 AM. SQL (Structured Query Language) is essential for interacting with relational databases, and mastering its intricacies can significantly enhance your data querying skills. One of the fundamental aspect
  • How to Create Server-Side Pagination, Searching, and Sorting Stored Procedure7/19/2024 1:36:54 PM. This article demonstrates how to create a SQL Server stored procedure for server-side pagination, searching, and sorting. The procedure efficiently handles large datasets by dynamically calculating to
  • Dynamically Creating a Table in SQL Server from Information Schema7/19/2024 11:01:55 AM. This SQL script dynamically creates a table in SQL Server by utilizing INFORMATION_SCHEMA and system views. It constructs the table definition, including columns, data types, constraints, and default
  • Implementing a Audit Trail in ASP.NET Core Web API7/17/2024 12:18:56 PM. Learn how to implement a robust audit trail in an ASP.NET Core Web API using Entity Framework Core and SQL Server. This comprehensive guide covers setting up the project, defining data models like Pro