Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste guia rápido, você aprenderá como o explicador de lógica de negócios ajuda os desenvolvedores a entender e trabalhar com lógica de aplicativo complexa implementada em SQL, estruturas ORM (mapeamento objeto-relacional) ou diretamente no banco de dados. O assistente analisa o código SQL, modelos ORM ou esquemas de banco de dados existentes para explicar as regras de negócios subjacentes e fornecer documentação acionável.
Introdução
Verifique se você está conectado a um banco de dados e abra uma janela do editor ativo com a extensão MSSQL. Essa conexão permite que o participante do @mssql chat entenda o contexto do ambiente do banco de dados, permitindo sugestões precisas e com reconhecimento de contexto. Sem uma conexão de banco de dados, o participante do chat não terá o esquema ou o contexto de dados para fornecer respostas significativas.
Os exemplos a seguir usam o banco de dados de exemplo AdventureWorksLT2022, que você pode baixar na página inicial dos Exemplos e Projetos da Comunidade do Microsoft SQL Server.
Para obter melhores resultados, ajuste os nomes de tabela e esquema para corresponder ao seu próprio ambiente.
Verifique se o chat inclui o @mssql prefixo. Por exemplo, digite @mssql seguido de sua pergunta ou instrução. Isso garante que o participante do chat entenda que você está solicitando assistência relacionada ao SQL.
Entender a lógica de negócios com o GitHub Copilot
O GitHub Copilot pode ajudá-lo a entender e explicar as regras de negócios inseridas no código do banco de dados, modelos ORM e consultas de aplicativo. De procedimentos armazenados a consultas LINQ e expressões sequenciadas, o GitHub Copilot fornece insights de linguagem natural para tornar a lógica complexa mais acessível.
Aqui estão casos de uso comuns e exemplos do que você pode perguntar por meio do participante do chat:
Explicar a lógica do T-SQL
Use o GitHub Copilot para entender e explicar Transact-SQL lógica (T-SQL), desde procedimentos armazenados até instruções condicionais embutidas. Se você estiver revisando regras de desconto, lógica de procedimento ou condições de otimização, o GitHub Copilot pode analisar e documentar as regras de negócios implementadas no T-SQL.
Explicar um procedimento armazenado
Explain what the `SalesLT.uspGetCustomerOrderHistory` stored procedure does and suggest ways to optimize it.
Depurar um procedimento armazenado
Debug the `SalesLT.uspGetTopSellingProducts` stored procedure and suggest improvements.
Explicar a lógica de negócios em um snippet 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;
Explicar a lógica do ORM
Explicar uma 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)
)
Explicar uma consulta LINQ do 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"
});
Explicar a lógica de negócios em uma 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 e comentar uma consulta Sequelize
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')
});
Gerar uma consulta SQLAlchemy para uma lista de produtos
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.
Recuperar informações do cliente usando uma 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:
Entender a intenção de negócios por meio de consultas
O GitHub Copilot ajuda os desenvolvedores a entender não apenas como uma consulta funciona, mas por que ela existe. Essa explicação inclui a finalidade real por trás de filtros de dados, agrupamentos e agregações. Essas explicações são especialmente úteis durante a integração, permitindo que os desenvolvedores compreendam as metas por trás de relatórios, portões lógicos ou métricas do sistema inseridas no código SQL e ORM.
Descrever as metas de negócios em uma consulta 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;
Resumir a intenção de uma consulta 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;
Descrever a lógica de negócios em um procedimento armazenado
Analyze the `SalesLT.uspGetCustomerOrderHistory` stored procedure and describe the business logic it implements.
Explicar a lógica de negócios em uma consulta LINQ do 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 as suposições de negócios em uma 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')
});
Compartilhar sua experiência
Para nos ajudar a refinar e melhorar o GitHub Copilot para a extensão MSSQL, use o seguinte modelo de problema do GitHub para enviar seus comentários: Comentários do GitHub Copilot
Ao enviar comentários, considere incluir:
Cenários testados – informe-nos em quais áreas você se concentrou, por exemplo, na criação do esquema, na geração de consultas, na segurança, na localização.
O que funcionou bem – descreva todas as experiências que se sentiram suaves, úteis ou excederam suas expectativas.
Problemas ou bugs – inclua problemas, inconsistências ou comportamentos confusos. Capturas de tela ou gravações de tela são especialmente úteis.
Sugestões de melhoria – compartilhe ideias para melhorar a usabilidade, expandir a cobertura ou aprimorar as respostas do GitHub Copilot.
Conteúdo relacionado
- Extensão do GitHub Copilot para MSSQL para Visual Studio Code
- Início Rápido: Usar sugestões do GitHub Copilot embutidas e de chat
- Início Rápido: Gerar código
- Início Rápido: Usar o gerenciador de esquemas e o designer
- Início Rápido: Usar o construtor de consultas inteligente
- Início Rápido: Assistente de otimizador de consulta
- Início Rápido: Analisador de segurança
- Início Rápido: Auxiliar de localização e formatação
- Início Rápido: Gerar dados para teste e simulação
- Limitações e problemas conhecidos