Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 2
            [id] => 524568
            [titulo] => SQL SERVER 2008 Inserindo dados em uma tabela. 
            [dataCadastro] => DateTime Object
                (
                    [date] => 2015-07-01 11:26:29
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 397347
            [status] => A
            [isExample] => 
            [NomeUsuario] => Randrade
            [Apelido] => 
            [Foto] => 397347_20150704190512.png
            [Conteudo] => Como não explicou detalhadamente, vou dar um exemplo genérico. Porém, você poderia criar um trigger, ou indexs. Mas vamos com uma "funçãozinha" básica.

[code]--Cria Tabela
CREATE TABLE TbTeste
(id int, nome varchar(10), tel varchar(10));
GO

--Declara variáveis
Declare @id int, @nome varchar(10), @tel varchar(10)

--Seta os valores do insert nas variáveis
set @id = '1'
set @nome = 'Cleiton'
set @tel = '11111111'

--Busca se um valor já existe (estou setando isso na cláusula where)
If Exists (Select * from TbTeste where id = @id or nome=@nome or tel = @tel )
begin
--Se o valor existir, exibe mensagem
print ('Já existe um valor cadastrado')
end
else
begin
--Se o valor não existir, realiza o insert
Insert into TbTeste (id,nome,tel) values (@id,@nome,@tel)
select * from TbTeste
end
[/code]

Eu já coloquei a explicação no próprio código. Se precisar de mais explicações, avisa que tento ser mais claro. ) )

SQL SERVER 2008 Inserindo dados em uma tabela.

Cleiton Conceição
   - 30 jun 2015

Boa noite a todos, estou com um seguinte problema.
tenho uma tabela com a seguinte estrutura
CREATE TABLE PAT_TIPO_ENTRADA (
TPE_COD INT IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
TPE_NOME VARCHAR(100),
TPE_NUMERO VARCHAR(15),
TPE_POSSE CHAR(1),
TPE_DOACAO CHAR(1)
)
e nela já existe os dados vou dar como exemplo : 1,FTC,2,S,N
o negocio é o seguinte, eu quero dar um insert nessa mesma tabela só que o insert tem que verificar se já existe essa informação na tabela e se não existe ele inseri os dados, caso exista ele não faz nada.

Post mais votado

Randrade
   - 01 jul 2015

Como não explicou detalhadamente, vou dar um exemplo genérico. Porém, você poderia criar um trigger, ou indexs. Mas vamos com uma "funçãozinha" básica.

#Código

--Cria Tabela
CREATE TABLE TbTeste
 (id int, nome varchar(10), tel varchar(10));
GO

--Declara variáveis
Declare @id int, @nome varchar(10), @tel varchar(10)

--Seta os valores do insert nas variáveis
set @id = '1'
set @nome = 'Cleiton'
set @tel = '11111111'

--Busca se um valor já existe (estou setando isso na cláusula where)
If Exists (Select * from TbTeste where id = @id or nome=@nome or tel = @tel )
begin
	 --Se o valor existir, exibe mensagem
     print ('Já existe um valor cadastrado')
 end
else
 begin
   --Se o valor não existir, realiza o insert
   Insert into TbTeste (id,nome,tel) values (@id,@nome,@tel)
select * from TbTeste
end


Eu já coloquei a explicação no próprio código. Se precisar de mais explicações, avisa que tento ser mais claro.

Mariana Carvalho
   - 01 jul 2015

Quam o campo deseja que não se repita? As chaves primaria já impoem isso, que pelo menos o código não se repita.

Cleiton Conceição
   - 01 jul 2015

Todos os campos. quero fazer um insert direto no banco.

Randrade
   - 01 jul 2015


Citação:
Todos os campos. quero fazer um insert direto no banco.


Todos os campos devem ser diferentes? Nome, número, posse e doação?

#Código

CREATE TABLE PAT_TIPO_ENTRADA (
TPE_COD INT IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
TPE_NOME VARCHAR(100),
TPE_NUMERO VARCHAR(15),
TPE_POSSE CHAR(1),
TPE_DOACAO CHAR(1)
)


P.S: Utilize a tag code </>, ao postar algum código em suas perguntas ou respostas.

Mariana Carvalho
   - 01 jul 2015

Super novidade pra mim, pois nunca vi situação assim, principalmente material de estudo.

Cleiton Conceição
   - 02 jul 2015

man, é exatamente o que eu queria fazer.
só tem um porém eu quero inserir vários dados e não to conseguindo.

tipo assim.
set @TPE_NOME = 'c,''cc'
set @TPE_NUMERO = '4','5'
set @TPE_POSSE = 'rs,''t'
set @TPE_DOACAO='k','o'

ta dando erro de sintaxe.

Riechelmann
   - 03 jul 2015

Segue como eu faria

#Código

insert into PAT_TIPO_ENTRADA (
      TPE_NOME ,
	  TPE_NUMERO,
	  TPE_POSSE,
	  TPE_DOACAO)
   select a.TPE_NOME ,
	      a.TPE_NUMERO,
	      a.TPE_POSSE,
	      a.TPE_DOACAO
     from TABELA_DE_ONDE_VEM_OS_DADOS a 
left JOIN PAT_TIPO_ENTRADA            b on a.TPE_NOME = b.TPE_NOME
	                                   and a.TPE_NUMERO = b.TPE_NUMERO
	                                   and a.TPE_POSSE = b.TPE_POSSE
									   and a.TPE_DOACAO = b.TPE_DOACAO
    where b.TPE_COD is null

Cleiton Conceição
   - 03 jul 2015

man, esse código não seria útil. pq o que eu estou fazendo vai ser executado em outra base, eu só quero fazer essa condição pq não tenho certeza se lá já existe essa tabela com esses dados.

Riechelmann
   - 03 jul 2015

Se for sql para sql da para fazer por linked server

#Código

insert into [192.168.0.1].[BANCO_DE_DADOS].[dbo].[PAT_TIPO_ENTRADA] (
      TPE_NOME ,
      TPE_NUMERO,
      TPE_POSSE,
      TPE_DOACAO)
   select a.TPE_NOME ,
          a.TPE_NUMERO,
          a.TPE_POSSE,
          a.TPE_DOACAO
     from TABELA_DE_ONDE_VEM_OS_DADOS a 
left JOIN [192.168.0.1].[BANCO_DE_DADOS].[dbo].[PAT_TIPO_ENTRADA] b on a.TPE_NOME = b.TPE_NOME
                                       and a.TPE_NUMERO = b.TPE_NUMERO
                                       and a.TPE_POSSE = b.TPE_POSSE
                                       and a.TPE_DOACAO = b.TPE_DOACAO
    where b.TPE_COD is null


se for na mesma instância

#Código
insert into [BANCO_DE_DADOS]..[PAT_TIPO_ENTRADA] (
      TPE_NOME ,
      TPE_NUMERO,
      TPE_POSSE,
      TPE_DOACAO)
   select a.TPE_NOME ,
          a.TPE_NUMERO,
          a.TPE_POSSE,
          a.TPE_DOACAO
     from TABELA_DE_ONDE_VEM_OS_DADOS a 
left JOIN [BANCO_DE_DADOS]..[PAT_TIPO_ENTRADA] b on a.TPE_NOME = b.TPE_NOME
                                       and a.TPE_NUMERO = b.TPE_NUMERO
                                       and a.TPE_POSSE = b.TPE_POSSE
                                       and a.TPE_DOACAO = b.TPE_DOACAO
    where b.TPE_COD is null

Randrade
   - 04 jul 2015

Cleiton, realmente acho q forma que o Lucas Riechelmann Ramos postou melhor para seu cenário. Caso não consiga ou tenha dificuldades, avise que adequo o que eu postei.

Cleiton Conceição
   - 04 jul 2015

Vou explicar novamente...
no local onde vai ser executado o código não tenho acesso. e n sei se existe esses dados na tabela.
o exemplo de lucas não me ajuda pq ele quer pegar os dados de uma tabela para outra e verificar se existe a informação ou não.