Archive

Posts Tagged ‘SQL’

SQL Server – Problema de acentuação na hora de importar/exportar – Collation

fevereiro 24, 2014 Deixe um comentário

Quantos de nós já nos deparamos com a situação de, na hora de importar ou exportar dados de um banco para outro enfrentarmos problemas de acentuação como este:

RÃimundo viajou para alguns países. O México e a Índia são legais, mas o preferido é o Japão.

Pois bem, isso se deve ao Collation diferente entre os databases de origem e destino.

Mas muitas vezes não temos privilégios para alterar todo o DATABASE, e nem é essa nossa intenção. Apenas ajustar aquele maldito campo descricao ou qualquer outro campo que está nos ocasionando o problema.

Podemos resolver este problema alterando apenas o COLLATE daquele campo. Para isso, primeiramente descubra o COLLATE de cada um dos bancos de dados.

Para isso, execute o comando sp_helpdb e verifique no campo status o item Collation.

Após isso só defina o campo da tabela que você quer com o mesmo collate do banco de dados de origem. Vamos supor que o collate da sua tabela de origem é Latin1_General_CI_AS. Basta executar o comando abaixo:

ALTER TABLE SUATABELA ALTER COLUMN Nome VARCHAR(80) COLLATE Latin1_General_CI_AS

Pronto, problema resolvido. Agora você pode importar/exportar os dados entre os bancos com COLLATION diferentes.

Divirta-se e inspire-se!

Categorias:Diversos, Ferramentas Tags:

Stored Procedure com vários parâmetros

novembro 25, 2013 Deixe um comentário

Muitas vezes precisamos realizar filtros, e não dá pra ficar colocando OR, OR , OR até a morte.

Para isso, podemos utilizar uma STORED PROCEDURE com uma lista de parâmetros.

Segue o exemplo abaixo:

CREATE Procedure proc_marcas
@OrderList varchar(500)
AS

Declare @SQL VarChar(1000)

Select @SQL = ‘SELECT * FROM produtos_marcas ‘
Select @SQL = @SQL + ‘WHERE idMarca in (‘ + @OrderList +’)’

Exec ( @SQL)

PRONTO. Na hora de passar o parâmetro citado acima, no caso IDMARCA basta passar os parâmetros separados por vírgula que a busca será realizada em todos os parâmetros informados.

Ex: 15,78,12,45

Divirta-se e inspire-se!

Categorias:Diversos Tags:
%d blogueiros gostam disto: