Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En esta guía rápida, aprenderá cómo el explicador de lógica de negocios ayuda a los desarrolladores a comprender y trabajar con una lógica de aplicación compleja implementada en marcos de SQL, asignación objeto-relacional (ORM) o directamente en la base de datos. El asistente analiza el código SQL, los modelos ORM o los esquemas de base de datos existentes para explicar las reglas de negocio subyacentes y proporcionar documentación accionable.
Comienza
Asegúrese de que está conectado a una base de datos y de que tiene abierta una ventana del editor activa con la extensión MSSQL. Esta conexión permite al participante del @mssql chat comprender el contexto del entorno de base de datos, lo que permite sugerencias precisas y compatibles con el contexto. Sin una conexión de base de datos, el participante del chat no tendrá el esquema ni el contexto de datos para proporcionar respuestas significativas.
En los ejemplos siguientes se usa la AdventureWorksLT2022 base de datos de ejemplo, que puede descargar desde la página principal Ejemplos de Microsoft SQL Server y Proyectos de comunidad .
Para obtener los mejores resultados, ajuste los nombres de tabla y esquema para que coincidan con su propio entorno.
Asegúrese de que el chat incluye el @mssql prefijo. Por ejemplo, escriba @mssql seguido de su pregunta o indicador. Esto garantiza que el participante del chat comprenda que solicita ayuda relacionada con SQL.
Descripción de la lógica de negocios con GitHub Copilot
GitHub Copilot puede ayudarle a comprender y explicar las reglas de negocio insertadas en el código de base de datos, los modelos ORM y las consultas de aplicaciones. Desde procedimientos almacenados a consultas LINQ y sequelize expressions, GitHub Copilot proporciona información de lenguaje natural para que la lógica compleja sea más accesible.
Estos son casos de uso comunes y ejemplos de lo que puede preguntar a través del participante del chat:
Explicación de la lógica de T-SQL
Use GitHub Copilot para comprender y explicar la lógica de Transact-SQL (T-SQL), desde procedimientos almacenados hasta instrucciones condicionales insertadas. Tanto si está revisando reglas de descuento, lógica de procedimientos o condiciones de optimización, GitHub Copilot puede analizar y documentar las reglas de negocio implementadas en T-SQL.
Explicación de un procedimiento almacenado
Explain what the `SalesLT.uspGetCustomerOrderHistory` stored procedure does and suggest ways to optimize it.
Depura un procedimiento almacenado
Debug the `SalesLT.uspGetTopSellingProducts` stored procedure and suggest improvements.
Explicación de la lógica de negocios en un fragmento de código
Analyze the following SQL code snippet from my current database. Document the business rules implemented in this discount application process, including conditions for eligibility, discount rate adjustments, and any limits imposed on the discount amount. Also, provide actionable insights or suggestions to improve clarity or performance if necessary.
DECLARE @OrderTotal AS DECIMAL (10, 2) = 1500.00;
DECLARE @DiscountCode AS NVARCHAR (20) = 'DISCOUNT10';
DECLARE @DiscountPct AS DECIMAL (5, 2) = CASE WHEN @OrderTotal > 1000.00 THEN 5.0 ELSE 0.0 END;
IF @DiscountCode = 'DISCOUNT10'
BEGIN
SET @DiscountPct = CASE WHEN @DiscountPct < 10.0 THEN 10.0 ELSE @DiscountPct END;
END
DECLARE @DiscountAmount AS DECIMAL (10, 2) = (@OrderTotal * @DiscountPct / 100.0);
IF @DiscountAmount > 200.00
BEGIN
SET @DiscountAmount = 200.00;
END
SELECT @OrderTotal AS OrderTotal,
@DiscountPct AS DiscountPercentage,
@DiscountAmount AS DiscountAmount;
Explicación de la lógica ORM
Explicación de una consulta SQLAlchemy
Explain what the following SQLAlchemy query does:
from sqlalchemy import func
top_customers = (
session.query(SalesOrderHeader.CustomerID, func.count().label("OrderCount"))
.group_by(SalesOrderHeader.CustomerID)
.order_by(func.count().desc())
.limit(10)
)
Explicación de una consulta LINQ de Entity Framework
What does this Entity Framework LINQ query do? Describe how it groups customers by tier based on their total purchases.
var customerTiers = context.SalesOrderHeaders
.GroupBy(o => o.CustomerID)
.Select(g => new {
CustomerID = g.Key,
TotalSpent = g.Sum(o => o.TotalDue),
Tier = g.Sum(o => o.TotalDue) >= 10000 ? "Gold" :
g.Sum(o => o.TotalDue) >= 5000 ? "Silver" : "Bronze"
});
Explicación de la lógica de negocios en una consulta prisma
Analyze the logic of this Prisma query and explain how it determines which products are considered "low inventory".
const lowInventoryProducts = await prisma.product.findMany({
where: {
SafetyStockLevel: {
lt: 50
}
},
select: {
ProductID: true,
Name: true,
SafetyStockLevel: true
}
});
Explicar y comentar una consulta Dequelize
Review and explain what this Sequelize query does. Add inline comments to clarify how it calculates total revenue per customer and filters for customers with significant spending:
const results = await SalesOrderHeader.findAll({
attributes: ['CustomerID', [sequelize.fn('SUM', sequelize.col('TotalDue')), 'TotalSpent']],
group: ['CustomerID'],
having: sequelize.literal('SUM(TotalDue) > 5000')
});
Generación de una consulta SQLAlchemy para obtener una lista de productos
Using SQLAlchemy, generate a query to list products that have never been ordered and ask GitHub Copilot to explain the join logic and filtering behavior.
Recuperación de la información del cliente mediante una consulta prisma
In Prisma, write a query that retrieves customers who placed an order in the last 30 days. Explain what the following Prisma query does. Add inline comments to clarify how the date filtering works and how recent orders are determined:
Descripción de la intención empresarial a través de consultas
GitHub Copilot ayuda a los desarrolladores a comprender no solo cómo funciona una consulta, sino por qué existe. Esta explicación incluye el propósito real detrás de filtros de datos, agrupaciones y agregaciones. Estas explicaciones son especialmente útiles durante la incorporación, lo que permite a los desarrolladores comprender los objetivos subyacentes a informes, puertas lógicas o métricas del sistema insertadas en código SQL y ORM.
Describir los objetivos empresariales en una consulta de T-SQL
Describe the business goal of the following SQL query. What insight is it trying to surface?
SELECT TOP 10 CustomerID,
COUNT(*) AS OrderCount
FROM SalesLT.SalesOrderHeader
GROUP BY CustomerID
ORDER BY OrderCount DESC;
Resumen de la intención de una consulta de T-SQL
Summarize what this query is intended to achieve from a business perspective.
SELECT ProductID,
SUM(LineTotal) AS TotalSales
FROM SalesLT.SalesOrderDetail
GROUP BY ProductID
HAVING SUM(LineTotal) > 10000;
Describir la lógica de negocios en un procedimiento almacenado
Analyze the `SalesLT.uspGetCustomerOrderHistory` stored procedure and describe the business logic it implements.
Explicación de la lógica de negocios en una consulta LINQ de Entity Framework
Explain this Entity Framework LINQ query and describe what business logic it implements:
var highValueCustomers = context.SalesOrderHeaders
.Where(o => o.TotalDue > 1000)
.GroupBy(o => o.CustomerID)
.Select(g => new { CustomerID = g.Key, OrderCount = g.Count() })
.OrderByDescending(x => x.OrderCount)
.Take(10)
.ToList();
Explicar las suposiciones empresariales en una consulta Sequelize
Using Sequelize, explain what this query does and describe any business assumptions it makes:
const customerRevenue = await SalesOrderHeader.findAll({
attributes: ['CustomerID', [sequelize.fn('SUM', sequelize.col('TotalDue')), 'TotalSpent']],
group: ['CustomerID'],
having: sequelize.literal('SUM(TotalDue) > 5000')
});
Compartir la experiencia
Para ayudarnos a refinar y mejorar GitHub Copilot para la extensión MSSQL, use la siguiente plantilla de problema de GitHub para enviar sus comentarios: Comentarios de GitHub Copilot
Al enviar comentarios, considere la posibilidad de incluir:
Escenarios probados : háganos saber en qué áreas se ha centrado, por ejemplo, la creación de esquemas, la generación de consultas, la seguridad, la localización.
Lo que funcionó bien : describa cualquier experiencia que se sintiera suave, útil o superara sus expectativas.
Problemas o errores : incluya cualquier problema, incoherencias o comportamientos confusos. Las capturas de pantalla o las grabaciones de pantalla son especialmente útiles.
Sugerencias para mejorar : comparta ideas para mejorar la facilidad de uso, expandir la cobertura o mejorar las respuestas de GitHub Copilot.
Contenido relacionado
- Extensión de GitHub Copilot para MSSQL de Visual Studio Code
- Inicio rápido: Uso de sugerencias en línea y chat de GitHub Copilot
- Inicio rápido: Generación de código
- Inicio rápido: Uso del explorador de esquemas y el diseñador
- Inicio rápido: Uso del generador de consultas inteligentes
- Inicio rápido: Asistente del optimizador de consultas
- Inicio rápido: Analizador de seguridad
- Inicio rápido: Asistente de localización y formato
- Inicio rápido: Generación de datos para pruebas y simulación
- Limitaciones y problemas conocidos