AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 256788
Accepted
Code Novice
Code Novice
Asked: 2020-01-07 09:53:17 +0800 CST2020-01-07 09:53:17 +0800 CST 2020-01-07 09:53:17 +0800 CST

SSMS Como abro uma nova janela de consulta usando a mesma instância de conexão da janela atual

  • 772

Vindo da Oracle, descobri que o SSMS se conecta um pouco diferente do SQL Developer da Oracle. Oracle, você clica em UMA conexão e, em seguida, todas as guias que você abre, usam essa conexão. O SSMS cria uma conexão/instância completamente nova para cada janela/guia que eu abro. Eu não quero isso . DOIS aborrecimentos me vêm à mente com esse comportamento que estou tentando contornar.

  1. Veja o efeito do script antes do COMMIT em outra janela

Eu quero poder executar um script em uma janela... e em outra janela ter a capacidade de consultar os dados não confirmados para simplesmente visualizar os resultados... Atualmente tenho que usar a MESMA Janela em que executei o script para simplesmente VER o efeito. (Os botões Commit/Rollback vêm à mente - Oracle, às vezes sinto sua falta).

  1. Visualize os dados armazenados em #TempTable de outra janela

Estou criando uma #TempTable usando um script... mas quero consultar seus dados de outra janela. Atualmente quando abro outra janela (ao contrário do SQL Developer da Oracle) ela abre a janela usando uma nova conexão/instância. Como faço para consultar os dados em #TempTable de outra janela em vez da janela em que executei o script?

O acima é apenas por razões organizacionais ... é TÃO chato executar um script ... e, a partir dessa mesma guia, tenho que escrever outro código quando não quero editar / adicionar nenhum outro código ao página que contém o script que executei.

Se eu estiver fazendo algo errado ou faltando algum ponto, por favor me avise.

sql-server connections
  • 2 2 respostas
  • 1163 Views

2 respostas

  • Voted
  1. David Browne - Microsoft
    2020-01-07T11:07:08+08:002020-01-07T11:07:08+08:00

    Se eu estiver fazendo algo errado ou faltando algum ponto, por favor me avise.

    Você não está perdendo nada. O SSMS sempre tem uma sessão separada por guia.

    é MUITO chato executar um script ... e, a partir dessa mesma guia, tenho que escrever outro código quando não quero editar/adicionar nenhum outro código à página que contém o script que executei.

    No SSMS o comando Executar (F5,Ctrl-e), sempre executa o texto realçado na janela de consulta, se houver.

    E assim, a maneira normal de as pessoas usarem as janelas de consulta do SSMS aqui é destacar seções de código a serem executadas, geralmente separando o script principal dos bits de teste/depuração usando comentários de várias linhas.

    Por exemplo, ao desenvolver um procedimento armazenado, a janela de consulta pode se parecer com:

    create or alter procedure SomeProc @param int
    as
    /*
      declare @p int = 12
      exec SomeProc @p
    */
    begin
      ...
    end
    

    Em seguida, execute todo o script para recriar o proc, destaque as linhas de teste e execute para testá-lo.

    • 3
  2. Best Answer
    HandyD
    2020-01-08T22:40:54+08:002020-01-08T22:40:54+08:00

    Veja o efeito do script antes do COMMIT em outra janela

    Você pode usar dicas de tabela como WITH (NOLOCK) ou WITH (READUNCOMMITTED) para realizar leituras sujas de dados não confirmados entre duas janelas no SSMS.

    Visualize os dados armazenados em #TempTable de outra janela

    Você pode usar tabelas temporárias globais (##Table em vez de #Table) para consultar tabelas temporárias entre sessões. Observe que você deve criar a tabela temporária como uma tabela temporária global para começar.

    O acima é apenas por razões organizacionais ... é TÃO chato executar um script ... e, a partir dessa mesma guia, tenho que escrever outro código quando não quero editar / adicionar nenhum outro código ao página que contém o script que executei.

    Se eu estiver fazendo algo errado ou faltando algum ponto, por favor me avise.

    Uma maneira simples é escrever seu script inteiro, incluindo as consultas para verificar/testar suas alterações de dados e, na verdade, destacar as partes individuais que você deseja executar e executá-las.

    Pegue o exemplo de código abaixo. Quero inserir dois registros em uma tabela, validar o resultado e depois confirmar se estiver satisfeito ou reverter se não:

    BEGIN TRANSACTION
    
    INSERT INTO TableA (ID, Value)
    VALUES (1, 'Value 1'),
      (2, 'Value 2')
    
    SELECT * FROM TableA
    
    COMMIT
    
    ROLLBACK
    

    Eu colocaria todo o código em uma única janela, destacaria as linhas 1-5 e pressionaria Execute/F5. Os dados são inseridos, mas não confirmados, então destaco a linha 7 e clico em Execute/F5 e verifico os resultados. Se estou feliz, destaco a linha 9 e clico em Execute/F5 para confirmar as alterações ou se quiser reverter, destaco a linha 11 e clico em Execute/F5.

    Além disso, observe que, se IMPLICIT_TRANSACTIONS estiver OFF (padrão), sua sessão estará basicamente usando 'autocommit', o que significa que sem um BEGIN TRANSACTION explícito, a instrução INSERT seria confirmada automaticamente.

    • 2

relate perguntas

  • SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado

  • Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?

  • Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Como determinar se um Índice é necessário ou necessário

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve