Certo Anderson, você pode utilizar o comando dessa forma utilizando o SELECT, pois tanto o SET como o SELECT são utilizados para atribuir valores a variáveis, mas diretamente no comando INSERT não é possível, pois é retornado um erro de sintaxe
Algumas diferenças entre as duas funções são:
SET
- Atribui um valor a uma variável
- Para cada variável utiliza-se uma nova instrução SET
- Se a instrução SET não retornar nenhuma linha, o valor da variável ficará como NULL
SELECT
- Atribui um valor ou vários valores a uma variável
- Pode inicializar várias variáveis locais
- Se a instrução SELECT não retornar nenhuma linha, a variável não sofrerá alteração no seu valor atual
- Atribui valores a uma variável, a partir de uma consulta em uma tabela.
Então a sua query pode ficar desta forma:
DECLARE @MATRICULA VARCHAR(5), @NOME VARCHAR(100), @PERCENTUAL FLOAT, @DATA DATE, @FERIAS BIT, @BAIRRO VARCHAR(100)
SELECT @MATRICULA = '00239', @NOME = 'José Mattos', @PERCENTUAL = 0.10, @DATA = '20100120', @FERIAS = 1, @BAIRRO = 'Meier'
INSERT INTO [TABELA DE VENDEDORES] VALUES
(@MATRICULA, @NOME, @PERCENTUAL, @DATA, @FERIAS, @BAIRRO)
Vou deixar aqui para você a documentação do SQL Server onde aborda sobre SET e SELECT e que pode ajudar a esclarecer um pouco mais sobre este assunto.
Espero ter ajudado, qualquer dúvida é só falar e bons estudos!