Inquiridor
Nolock = with(nolock)

Pergunta
-
Todas as Respostas
-
Olá,
Procure usar o WITH, veja o comentário do próprio BOL:
"Omitting the WITH keyword is a deprecated feature: This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature."
Abraços
Demétrio Silva -
Demétrio,
Acho que temos um pequeno engano.
Se analisarmos o comentário do BOL, ele esta recomendando para omitir a declaração do With, pois o mesmo será removido em versões futuras do SQL Server.
Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA -
-
Pelo o que eu sei a partir do 2005 utiliza-se somente o (NOLOCK) o With é usado em versões anteriores,
um outro exemplo é a variável do tipo table:
Declare @teste as Table
(
ID int
)
No sql 2000 não funciona a declaração acima , é preciso tirar o "as" ou seja:
Declare @teste Table
(
ID int
)
Allan Tavares - Analista Programador Jr. -
-
-
Obrigado pessoal pelas respostas.
Desde o Sql 2000 utilizo apenas o NOLOCK e fui questionado recentemente pela minha equipe que utiliza somente
com o with(nolock).
Lembro em ter lido em algum lugar, talvez no site do autor Itzik Ben Gan, o uso facultativo do with.
Não encontrei nada sobre o assunto no site da Microsoft .
Abraco,
Luis C Rodrigues. -
Boa Tarde,
Ao meu ver a regra é bem clara.
"Omitting the WITH keyword is a deprecated feature: This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature."
"Omitir a palavra WITH é uma funcionalidade em desuso: Essa funcionalidade será removida em uma versão futura do SQL Server. Evite utilizar essa funcionalidade em novos projetos e planeja modificar as aplicações que utilizam essa funcionalidade"
O que o Books OnLine recomenda é que se faça sim uso do WITH. No passado (e nas releases atuais), o seu uso ainda é opcional, mas no futuro será obrigatório. Isso pode ser confirmado na passagem a seguir:
"With some exceptions, table hints are supported in the FROM clause only when the hints are specified with the WITH keyword"
"Com algumas exceções, table hints só são suportados na cláusula FROM somente quanto os hints são especificados com a palavra WITH"
No livro da Kallen Delaney (Inside Microsoft SQL Server - The Storage Engine) há também uma afirmação bem clara sobre esse assunto.
"Not all the locking hints require the keyword WITH, but the syntax without WITH will go away in a future version. In SQL Server 2005, is recommended that all hints be specified using WITH."
"Nem todos os hints de bloqueio requerem a palavra WITH, mas a sintaxe sem o WITH irá ser descontinuada em uma versão futura. No SQL Server 2005, é recomendável que todos os hints sejam especificados com a palavra WITH"
Recomendo então que ao invés de omitir o WITH, especifique-o e não o contrário.
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.spaces.live.com
Unique Constraints – Aplicações, Alternativas e um lapso "justificável" do SQL Server
http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!710.entry
Classifique as respostas. O seu feedback é imprescindível- Sugerido como Resposta Gustavo Maia Aguiar sábado, 5 de setembro de 2009 19:46
-
-
Você deve utilizar o WITH, sem ele, no SQL 2005, seus SELECTs não irão funcionar!!
Carlos Eduardo Pieren - MCP- Sugerido como Resposta Carlos Eduardo Pieren quarta-feira, 9 de setembro de 2009 16:39