sexta-feira, 29 de julho de 2016

Funções - SQL SERVER

Neste tópico apresentaremos as funções internas mais comuns, utilizadas no dia-dia dos profissionais, desenvolvedores, analistas, offices users e curiosos que se aventuram em SQL ..

O SQL Server fornece muitas funções internas e também permite criar funções definidas pelo usuário. As categorias de funções internas são classificadas em quatro (04) categorias principais.
Função
Descrição
Retornam um objeto que pode ser usado como referências de tabela em uma instrução SQL.
Funcionam em uma coleção de valores mas retornam um valor único de resumo.
Retornam um valor de classificação para cada linha em uma partição.
Funcionam em um valor único e retornam um valor único. As funções escalares podem ser usadas onde uma expressão é válida.
* Cada grupo merece um tópico especifico para poder detalhar e expor exemplos de sua funcionalidade, acompanhe no blog ...


       As funções de conjunto de linhas retornam um objeto que pode ser usado no lugar de uma referência de tabela em uma instrução do Transact-SQL.Todas as funções de conjunto de linhas são não determinísticas. Isso significa que essas funções nem sempre retornam os mesmos resultados a cada chamada.


OPENDATASOURCE 

Fornece informações de conexão ad hoc como parte de um nome de objeto de quatro partes sem usar um nome de servidor vinculado.

Ex: 
SELECT FROM OPENDATASOURCE('SQLNCLI','Data Source=BR\SQL;Integrated Security=SSPI')
.AdventureWorks2012.HumanResources.Employee


OPENQUERY 

Executa a consulta passagem especificada no servidor vinculado especificado. Esse servidor é uma fonte de dados OLE DB. OPENQUERY pode ser referenciada na cláusula FROM de uma consulta como se fosse um nome de tabela. OPENQUERY também pode ser referenciada como a tabela de destino de uma instrução INSERT, UPDATE ou DELETE. Isso dependerá dos recursos do provedor OLE DB. Embora a consulta possa retornar vários conjuntos de resultados, OPENQUERY retorna somente o primeiro deles.

Ex: 

A.Executando uma consulta de passagem UPDATE

O exemplo a seguir usa uma consulta de passagem UPDATE no servidor vinculado criado no exemplo A.
UPDATE OPENQUERY (SQL8, 'SELECT name FROM joe.titles WHERE id = 101') 
SET name = 'ADifferentName'

B.Executando uma consulta de passagem INSERT

O exemplo a seguir usa uma consulta de passagem INSERT no servidor vinculado criado no exemplo A.
INSERT OPENQUERY (SQL8, 'SELECT name FROM joe.titles')
VALUES ('NewTitle')

C.Executando um consulta de passagem DELETE

O exemplo a seguir usa uma consulta de passagem DELETE para excluir a linha inserida no exemplo C.
DELETE OPENQUERY (SQL8, 'SELECT name FROM joe.titles WHERE name = ''NewTitle''')

OPENXML

Fornece  uma exibição de conjunto de linhas em um documento XML.
Ex: EXEC sp_xml_preparedocument @idoc OUTPUT, @doc;


-- Execute a SELECT statement that uses the OPENXML rowset provider.
SELECT    *
FROM       OPENXML (@idoc, '/ROOT/Diretorio',1)
           WITH    (CustomerID  varchar(10),
                    ContactName varchar(20));

Continue a leitura em Funções De agregações ...

Nenhum comentário:

Postar um comentário