Executar procedure do Mysql no MSSQL

Ĉ¿

Chamando procedure do servidor MSSQL, através do LINKED SERVER no Mysql


EXEC('CALL DESLOGA()' ) AT PAUSA 

Lembrando que as opções do servidor devem estar com RPC habilitado






Créditos: http://goo.gl/Crn737

Transformando linha em colunas PIVOT MSSQL

Ĉ¿

Imagine que você tenha este resultad

ID_CAMPANHA RESULTADO QTD
7 NULL 0
8 0 2
8 1 1

E deseja transformar que sua coluna resultado se transforme em colunas, assim

ID_CAMPANHA POSITIVO NEGATIVO
7 NULL NULL
8 1 2

Onde Resultado = 1, considero positivo e Resultado = 0 negativo, descartando null

Basta usar o PIVOT, conforme exemplo abaixo.

     SELECT 
ID_CAMPANHA
,[1] AS POSITIVO
,[0] AS NEGATIVO
FROM 
#CONTATO_POS_NEG TEMP PIVOT (SUM(QTD)
FOR RESULTADO IN ([0],[1]))P 







Crédito: http://goo.gl/o3EFqV



Split de dados MSSQL 2014

Ĉ¿

Este script abaixo foi utilizado para separar telefones de um mesmo campo em uma cadastro, transformando em linhas.

Exemplo:

ID_USUARIO      TELEFONE
123                        12 81359245, 12 12365478

Após rodar o Script

ID_USUARIO     TELEFONE
123                       12 81359245
123                       12 12365478



Mandei criar a tabela temporária #TELEFONE_USUARIO, para relacionar com outros dados posteriormente.
SELECT 
DISTINCT A.ID_USUARIO
,Split.a.value('.', 'VARCHAR(100)') AS TELEFONE  
INTO #TELEFONE_USUARIO
FROM  
(SELECT 
ID_USUARIO,  
CAST ('<M>' + REPLACE(TELEFONES, ',', '</M><M>') + '</M>' AS XML) AS String  
FROM  
TELEFONE) AS A 
CROSS APPLY String.nodes ('/M') AS Split(a)




Créditos: http://goo.gl/owBJh6

Script Pytton/ArcGis/MSSQL Onde encontra a distancia entre dois pontos

Ĉ¿

Esse script abaixo em Pytton, realiza uma conexão dentro do banco de dados do ArcGis (MSSQL).

Depois pega a tabela ALUNO e a tabela ESCOLA, que está com dados GeoCodificados.

Em seguindo verifica a distancia de cada Aluno para cada Escola, e grava em outra tabela dentro do MSSQL.

Que foi criada com o nome ALUNO_ESCOLA_DISTANCIA, pelo mesmo script abaixo.

O resultado de registros será a quantidade de aluno X a quantidade de escolaas.

Exemplo:
10 Alunos x 5 Escolas = Total de registros 50

# -*- coding: cp1252 -*-
import arcpy
import pyodbc
import logging
import sys
import traceback
import sde_connection
import math
# Variaveis Locais:
#conexão com o o SQL SERVER
workspace = sde_connection.connect("NOME_BANCO", "NOME_SERVIDOR", "USUARIO", "SENHA", "SDE.DEFAULT")
diretorioTrabalho = r'\\srvgeo\D\LocatorSJC'
arquivoLog = diretorioTrabalho + r'\Locator_Educacao_Distancia.log'
#informando o nome das tabelas que existe no MSSQL
ptFC1 = workspace + r'\DBO.ALUNO'
ptFC2 = workspace + r'\DBO.ESCOLA'
#define onde será criado a tabela, no caso uso o mesmo caminho
outGDB = workspace
outTableName = r'ALUNO_ESCOLA_DISTANCIA'
outTable = outGDB + "/" + outTableName
# Configuracao Logging
logging.basicConfig(filename=arquivoLog, level=logging.INFO, format='%(asctime)s:%(levelname)s:%(message)s')
logging.info('Inicio - Script Locator')
arcpy.env.overwriteOutput = True
# Criando tabela de destino
arcpy.CreateTable_management(outGDB,outTableName)
arcpy.AddField_management(outTable,"INPUT_FID","LONG")
arcpy.AddField_management(outTable,"NEAR_FID","LONG")
arcpy.AddField_management(outTable,"DISTANCE","DOUBLE")
# Criar e preencher dois dicionários com coordenadas X e Y para cada
# OBJECT na segunda classe recurso usando um SearchCursor
ptFC2XCoordDict = {}
ptFC2YCoordDict = {}
with arcpy.da.SearchCursor(ptFC2,["OBJECTID","SHAPE@XY"]) as cursor:
    for row in cursor:
        ptFC2XCoordDict[row[0]] = row[1][0]
        ptFC2YCoordDict[row[0]] = row[1][1]
# Abre um Cursor pronto para ter registros escritos para cada par de ObjectIDs
iCursor = arcpy.da.InsertCursor(outTable,["INPUT_FID","NEAR_FID","DISTANCE"])
# Usa um SearchCursor para ler as linhas (e coordenadas X, Y) do primeiro
# Classe de recurso
with arcpy.da.SearchCursor(ptFC1,["OBJECTID","SHAPE@XY"]) as cursor:
    for row in cursor:
        x1 = row[1][0]
        y1 = row[1][1]
        for i in range(len(ptFC2XCoordDict)):
            x2 = ptFC2XCoordDict[i+1]
            y2 = ptFC2YCoordDict[i+1]
            # Prepara e insere a linha Inserir Cursor
            iRow = [row[0],i+1,math.sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1))]
            iCursor.insertRow(iRow)
del iCursor
print "Done!"

Tags: Script Python / ArcGis / MSSQL Where to find the distance between two points, Spatial Join

Créditos: http://gis.stackexchange.com/questions/113446/performing-point-distance-analysis-using-basic-level-license-of-arcgis-for-deskt




Limite de linha MSSQL

Ĉ¿

Já se perguntou quantas linhas cabe em uma tabela do seu banco de dados ?

R. O limite não é o gerenciador do banco de dados, mas sim sua capacidade de armazenamento do servidor que está instalado o SQL SERVER.

Comandos git do dia a dia

Ĉ¿ #Criando um projeto do zero echo "# UBBOAT_App" >> README.md git init git add README.md git commit -m "first commi...