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 / user-148012

T.S.'s questions

Martin Hope
T.S.
Asked: 2022-10-18 15:16:34 +0800 CST

O Oracle garante a ordem final das linhas de saída quando é definida na visualização inline

  • 5

Esta consulta é baseada em 2 tabelas em que algumas linhas PerfData1possuem vários registros filho. As linhas não são duplicadas, mas alguns ids são. Eu preciso pegar apenas 1 dessas linhas e isso também é uma consulta de paginação, que precisa obter o número total ou itens existentes e um subconjunto final.

A consulta funciona bem. No entanto, não tenho certeza se a ordem definida na visualização embutida (inner ORDER BY) será mantida na saída final. Até agora, não se viu nenhum desvio. Mas lembro que no mundo SQL Server isso não é garantido, por isso preciso de 2 ORDER BYcláusulas.

    SELECT 
        All_Results_Table.*
    FROM
    (
        SELECT 
            Rownum_Table.*,
            COUNT(*) OVER() as sys___countAllFoundRecords,
            ROWNUM sys___outputRownum
        FROM 
        (
            SELECT 
                ROW_NUMBER() OVER(PARTITION BY PerfData1.id ORDER BY PerfData1.id) AS sys___multivalueRowSequence, -- This is OPTIONAL when we DON'T want dupe IDs
                ROW_NUMBER() OVER(order by 1) AS sys___innerRowNumber,
                PerfData1.id,
                PerfData1.c1 item,
                PerfData2.c1 subitem
            FROM 
                PerfData1 inner join 
                PerfData2 on PerfData1.id = PerfData2.fkId
            WHERE (1 = 1) 
            ORDER BY id, subitem desc --<<-- WILL THIS ORDER STAY in the FINAL OUTPUT 
        ) Rownum_Table
        WHERE sys___multivalueRowSequence = 1 -- This is OPTIONAL when we DON'T want dupe IDs
    ) All_Results_Table
    WHERE 
        sys___outputRownum BETWEEN 200 AND 230

A ordem definida no ORDER BYSQL acima será mantida na saída final?

oracle
  • 3 respostas
  • 76 Views
Martin Hope
T.S.
Asked: 2021-09-17 18:49:12 +0800 CST

Número de execuções da mesma subconsulta pelo mecanismo de banco de dados

  • 0

Se eu tiver essa consulta SQL


SELECT
  (select count(*) from  tableA) as cnt,
  t1.*

FROM
    (
     SELECT t.*
     FROM
         (
          SELECT * FROM tableA
          UNION ALL 
          SELECT * FROM tableB
         ) t
     ORDER BY [col1]
     OFFSET 1000 ROWS  --    
     FETCH NEXT 50 ROWS ONLY
    ) t1
   

Esta consulta funciona. A questão é - quantas vezes sua subconsulta é executada, 1 ou 50? (select count(*) from tableA) as cnt

Basicamente, eu sei que se você tiver vários GETDATE()em sua consulta, ele será executado apenas uma vez e o valor será reutilizado. Gostaria de saber se o analisador é inteligente o suficiente para saber que já executou essa subconsulta, que não tem correlação com outros registros.

Aqui está o plano de execução

Obrigado

sql-server t-sql
  • 1 respostas
  • 123 Views
Martin Hope
T.S.
Asked: 2021-02-09 11:12:59 +0800 CST

O Sql Server armazena em cache blocos anônimos parametrizados?

  • 0

"Bloco anônimo" é um termo da Oracle. Mas falando da coisa para sql server

Declare
   ....
Begin
    begin trans
 . . . 
    commit
End

Se eu enviar esse SQL de forma parametrizada para o servidor via ADO.NET, ele será armazenado em cache e reutilizado ou será recompilado todas as vezes?

sql-server cache
  • 1 respostas
  • 38 Views
Martin Hope
T.S.
Asked: 2021-02-06 17:39:58 +0800 CST

Não pode confiar em INFORMATION_SCHEMA.view_definition?

  • 0

Eu construí um aplicativo que compara objetos nos bancos de dados e gera scripts para replicar objetos nos diferentes bancos de dados. O que notei enquanto estava usando isso para recuperar o código de visualização

select * from INFORMATION_SCHEMA.VIEWS where TABLE_NAME = 'V_SC_ALL_CUSTOMER_DOCUMENTS'

é que VIEW_DEFINITIONcorta a visão DDL curta. Então eu aprendi a usar sys.sql_modulespara obter definição completa.

eu corri esses

sp_help 'INFORMATION_SCHEMA.VIEWS'
sp_help 'sys.sql_modules'

e descobri que INFORMATION_SCHEMA.VIEWS.VIEW_DEFINITION nvarchartamanho = 8000 e sys.sql_modules.DEFINITION nvarchartamanho = -1. eu acredito nvarchar(max).

Qual é o ponto então ter VIEW_DEFINITIONse você não pode confiar nele? E existem outros tipos de objetos que eu deveria recuperar em sql_modulesvez de suas tabelas correspondentes, como procedimentos, gatilhos, etc?

sql-server ddl
  • 2 respostas
  • 160 Views
Martin Hope
T.S.
Asked: 2018-03-30 08:15:30 +0800 CST

Onde está o driver do provedor MSOLEDBSQL? "O provedor 'MSOLEDBSQL' não está registrado na máquina local."

  • 3

Isso vem acontecendo. A princípio, a MS disse que não suportaria TLS1.2 para OLEDB, então eles disseram que sim. Você pode ler sobre isso aqui, onde eles disseram, o suporte vem em março de 2018

Agora parece que o pacote chegou . Eu instalei. Então eu corri suave sem alterar a string de conexão usando o estilo antigo Provider=sqloledb. Esperava-se que isso falhasse e aconteceu. Mudei para um novo estilo Provider=MSOLEDBSQL(veja o primeiro link). E agora eu recebo

"O provedor 'MSOLEDBSQL' não está registrado na máquina local."

OK. Eu não instalei o provedor depois de tudo. Mas também não consigo encontrar. Eu pensei, pode ser que isso seja parte da atualização do Native Client. Mas isso saiu em janeiro de 2018. Instalei, não quebrou nada, não consertou nada. Então me deparei com esse provedor que acabou de ser lançado. Instalei. Esta parece ser a nova versão do ODBC.

Resumindo, onde eu chego MSOLEDBSQL? obrigada

connectivity oledb
  • 1 respostas
  • 24827 Views

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