Advertisement
lucasmouraahere

T-SQL

Nov 18th, 2019
582
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 14.94 KB | None | 0 0
  1. -- CURSO SQL SERVER BÁSICO
  2.  
  3. CREATE DATABASE db_Biblioteca ON PRIMARY (
  4.     NAME=db_Biblioteca,
  5.     FILENAME='C:\SQL\db_Biblioteca.MDF',
  6.     SIZE=16MB,
  7.     MAXSIZE=10MB,
  8.     FILEGROWTH=10%
  9. )
  10.  
  11. USE db_Biblioteca;
  12.  
  13. sp_helpdb db_Biblioteca; -- VERIFICAR A ESTRUTURA DA TABELA
  14.  
  15. CREATE TABLE tbl_Livro (
  16.     ID_Livro SMALLINT PRIMARY KEY IDENTITY(100,1),
  17.     Nome_Livro VARCHAR(50) NOT NULL,
  18.     ISBN VARCHAR(30) NOT NULL UNIQUE,
  19.     ID_Autor SMALLINT NOT NULL,
  20.     Data_Pub DATETIME NOT NULL,
  21.     Preco_Livro MONEY NOT NULL
  22. )
  23.  
  24. CREATE TABLE tbl_Autores (
  25.     ID_Autor SMALLINT PRIMARY KEY,
  26.     Nome_Autor VARCHAR(50),
  27.     SobreNome_Autor VARCHAR(60)
  28. )
  29.  
  30. CREATE TABLE tbl_Editoras (
  31.     ID_Editora SMALLINT PRIMARY KEY IDENTITY,
  32.     Nome_Editora VARCHAR(50) NOT NULL
  33. )
  34.  
  35. sp_help tbl_Livro; -- INFORMAÇÕES SOBRE A TABELA EXISTENTE
  36.  
  37.  
  38. -- TESTANDO IDENTITY
  39.  
  40. CREATE TABLE tbl_teste_identidade (
  41.     ID_Teste SMALLINT PRIMARY KEY IDENTITY(100,2), -- COMEÇANDO NO 100 E INCREMENTANDO DE 2 EM 2
  42.     Valor SMALLINT NOT NULL
  43. )
  44.  
  45. INSERT INTO tbl_teste_identidade (Valor) VALUES (10)
  46. INSERT INTO tbl_teste_identidade (Valor) VALUES (20)
  47. INSERT INTO tbl_teste_identidade (Valor) VALUES (30)
  48. INSERT INTO tbl_teste_identidade (Valor) VALUES (40)
  49.  
  50. SELECT * FROM tbl_teste_identidade
  51.  
  52. -- ALTER TABLE - DROP
  53.  
  54. ALTER TABLE tbl_Livro DROP COLUMN ID_Autor -- EXCLUINDO COLUNA
  55.  
  56. ALTER TABLE tbl_Livro DROP CONSTRAINT nome_constraint --EXCLUINDO CONSTRAINT DE UMA TABELA
  57.  
  58. -- ALTER TABLE - ADD
  59.  
  60. ALTER TABLE tbl_Livro ADD
  61. ID_Autor SMALLINT NOT NULL
  62. CONSTRAINT fk_ID_Autor FOREIGN KEY (ID_Autor) REFERENCES tbl_Autores
  63.  
  64. ALTER TABLE tbl_Livro ADD
  65. ID_Editora SMALLINT NOT NULL
  66. CONSTRAINT fk_ID_Editora FOREIGN KEY (ID_Editora) REFERENCES tbl_Editoras
  67.  
  68. -- ALTER TABLE - ALTER COLUMN
  69.  
  70. ALTER TABLE tbl_Livro ALTER COLUMN ID_Autor SMALLINT -- ALTERANDO TIPO DE DADOS
  71.  
  72. -- ALTER TABLE - ADD PRIMARY KEY
  73.  
  74. ALTER TABLE Clientes ADD PRIMARY KEY (ID_Cliente)
  75.  
  76. -- DROP TABLE
  77. USE db_Biblioteca -- SEMPRE USAR
  78. DROP TABLE tbl_teste_identidade;
  79. SELECT * FROM tbl_Editoras;
  80. -- INSERT INTO
  81. INSERT INTO tbl_Autores (ID_Autor, Nome_Autor, SobreNome_Autor)
  82. VALUES
  83. (1, 'Daniel', 'Barret'),
  84. (2, 'Gerald', 'Carter'),
  85. (3, 'Mark', 'Sobell'),
  86. (4, 'William', 'Stanek'),
  87. (5, 'Richard', 'Blum');
  88.  
  89. INSERT INTO tbl_Editoras (Nome_Editora)
  90. VALUES
  91. ('Prentice Hall'),
  92. ('O´Reilly'),
  93. ('Microsoft Press'),
  94. ('Wiley');
  95.  
  96. INSERT INTO tbl_Livro (Nome_Livro, ISBN, Data_Pub, Preco_Livro, ID_Autor, ID_Editora)
  97. VALUES
  98. ('Linux Command Line and Shell Scripting','143856969','20091221', 68.35, 5, 4),
  99. ('SSH, the Secure Shell','127658789','20091221', 58.30, 1, 2),
  100. ('Using Samba','123856789','20001221', 61.45, 2, 2),
  101. ('Fedora and Red Hat Linux','123346789', '20101101', 62.24, 3, 1),
  102. ('Windows Server 2012 Inside Out','123356789','20040517', 66.80, 4, 3),
  103. ('Microsoft Exchange Server 2010','123366789','20001221', 45.30, 4, 3);
  104.  
  105. -- TRUNCATE TABLE: EXCLUIR TODOS OS DADOS DE UMA TABELA
  106.  
  107. SELECT COUNT(*) FROM tbl_Livro
  108. GO
  109. TRUNCATE TABLE tbl_Livro
  110. GO
  111. SELECT COUNT(*) FROM tbl_Livro
  112.  
  113. -- ORDER BY
  114.  
  115. SELECT * FROM tbl_livro
  116. ORDER BY Nome_Livro ASC; -- ACRESCENTE
  117.  
  118. SELECT Nome_Livro, Preco_Livro FROM tbl_livro
  119. ORDER BY Preco_Livro DESC; -- DECRESCENTE
  120.  
  121. SELECT Nome_Livro, ID_Editora FROM tbl_livro
  122. ORDER BY ID_Editora; --
  123.  
  124.  
  125. -- SELECT DISTINCT
  126.  
  127. SELECT DISTINCT ID_Autor FROM tbl_Livro
  128.  
  129. -- CLAUSULA WHERE
  130.  
  131. SELECT ID_Autor FROM tbl_Autores
  132. WHERE SobreNome_Autor = 'Stanek';
  133.  
  134. /* OPERADORES AND e OR
  135.  
  136. AND = SE TODAS RETORNAREM VERDADEIRO
  137. OR = SE PELO MENOS UMA RETORNAR VERDADEIRO (RETORNA FALSE SE TODAS FOREM FALSAS)
  138.  
  139. */
  140.  
  141. SELECT * FROM tbl_Livro
  142. WHERE ID_Livro > 2 AND ID_Autor < 3
  143.  
  144. SELECT * FROM tbl_Livro
  145. WHERE ID_Livro > 2 OR ID_Autor < 3
  146.  
  147.  
  148. -- SELECT TOP
  149.  
  150. SELECT TOP 10 PERCENT Nome_Livro
  151. FROM tbl_Livro
  152.  
  153. SELECT TOP 3 Nome_Livro
  154. FROM tbl_Livro
  155.  
  156. -- APELIDOS EM TABELAS 'AS'
  157.  
  158. SELECT Nome_Livro AS Livro
  159. FROM tbl_Livro;
  160.  
  161. /* OPERADOR UNION
  162. 1. DEVE TER A MESMA QUANTIDADE DE COLUNAS ENTRE AS TABELAS USADAS UNION
  163. 2. OS MESMOS TIPOS DE DADOS
  164. 3. ORDENS IGUAIS
  165.  
  166. UNION ALL = MOSTRA TODOS
  167. UNION = MOSTRA SEM REPETIÇÕES
  168. */
  169.  
  170. SELECT Nome_Autor FROM tbl_Autores
  171. UNION
  172. SELECT Nome_Livro FROM tbl_Livro
  173.  
  174. -- UPDATE
  175.  
  176. UPDATE tbl_livro
  177. SET Preco_Livro = 71.20,
  178. ISBN = '654738322'
  179. WHERE ID_Livro = 103;
  180.  
  181.  
  182. -- SELECT INTO – Criar nova tabela a partir de uma tabela existente – SQL Server
  183.  
  184. SELECT * INTO Testando
  185. FROM tbl_Livro
  186.  
  187. SELECT Nome_Livro, ID_Autor INTO LivroAutor
  188. FROM tbl_Livro
  189. WHERE ID_Livro > 2
  190.  
  191.  
  192. -- Funções Agregadas – SUM, COUNT, MAX, MIN, AVG – SQL Server
  193.  
  194. SELECT COUNT(*) AS QTD FROM tbl_Autores
  195.  
  196. SELECT MIN(Preco_Livro) AS 'PREÇO Minimo' FROM tbl_Livro
  197.  
  198. SELECT MAX(Preco_Livro) FROM tbl_Livro
  199.  
  200. SELECT AVG(Preco_Livro) FROM tbl_Livro
  201. FROM tbl_Livro
  202. WHERE Data_Pub
  203. SELECT SUM(Preco_Livro) FROM tbl_Livro
  204.  
  205.  
  206. -- BETWEEN – Seleção de Intervalos em Registros – SQL Server
  207.  
  208. SELECT Nome_Livro BETWEEN '20091221' AND '20101101'
  209.  
  210. -- LIKE e NOT LIKE – Filtrar por padrões específicos – Curso de SQL Server
  211.  
  212. SELECT * FROM tbl_livro
  213. WHERE Nome_Livro LIKE 'F%';
  214.  
  215. SELECT * FROM tbl_livro
  216. WHERE Nome_Livro NOT LIKE 'S%';
  217.  
  218. SELECT * FROM tbl_livro
  219. WHERE Nome_Livro LIKE '[a-z]%';
  220.  
  221. SELECT * FROM tbl_livro
  222. WHERE Nome_Livro LIKE '%[GL]';
  223.  
  224. SELECT * FROM tbl_livro
  225. WHERE Nome_Livro LIKE '_i__o%';
  226.  
  227. SELECT Nome_Livro
  228. FROM tbl_livro
  229. WHERE Nome_Livro LIKE '_i%';
  230.  
  231. SELECT Nome_Livro AS Livro, Preco_Livro AS Valor
  232. FROM tbl_livro
  233. WHERE Nome_Livro NOT LIKE '_i%'
  234. AND Preco_Livro > 62.00;
  235.  
  236. -- JOINS e INNER JOIN – Selecionar dados de duas ou mais tabelas
  237.  
  238. SELECT * FROM tbl_livro
  239. INNER JOIN tbl_autores
  240. ON tbl_livro.ID_Autor = tbl_autores.ID_Autor;
  241.  
  242. SELECT tbl_livro.Nome_Livro, tbl_livro.ISBN, tbl_autores.Nome_Autor
  243. FROM tbl_livro
  244. INNER JOIN tbl_autores
  245. ON tbl_livro.ID_Autor = tbl_autores.ID_Autor;
  246.  
  247. SELECT L.Nome_Livro AS Livros, E.Nome_editora AS Editoras
  248. FROM tbl_livro AS L
  249. INNER JOIN tbl_editoras AS E
  250. ON L.ID_editora = E.ID_editora
  251. WHERE E.Nome_Editora LIKE 'M%';
  252.  
  253. -- OUTER JOINS – LEFT e RIGHT – Selecionar dados de várias tabelas – SQL Server
  254. /*
  255. 1º TABELA DO SELECT É SEMRPE A ESQUERDA, A SEGUNDA A DIREITA.
  256. */
  257.  
  258. SELECT * FROM tbl_Livro as L
  259. LEFT JOIN tbl_Autores AS A
  260. ON A.ID_Autor = L.ID_Autor
  261. WHERE A.ID_Autor IS NULL -- TABELA DA DIREITA, CAMPO CHAVE IS NULL
  262.  
  263. SELECT * FROM tbl_Autores A
  264. RIGHT JOIN tbl_Livro L
  265. ON A.ID_Autor = L.ID_Autor
  266. WHERE A.ID_Autor IS NULL;
  267.  
  268. -- FULL OUTER JOIN – Selecionar dados de várias tabelas – SQL Server
  269.  
  270. SELECT L.Nome_Livro, L.ID_Autor, A.Nome_Autor
  271. FROM tbl_Livro AS L
  272. FULL JOIN tbl_Autores AS A
  273. ON L.ID_Autor = A.ID_Autor
  274. WHERE L.ID_Autor IS NULL OR
  275. A.ID_Autor IS NULL
  276.  
  277. --  Operadores IN e NOT IN – Filtros de Múltiplas Condições – SQL Server
  278.  
  279. SELECT * FROM tbl_Livro
  280. WHERE ID_Autor IN (1,2)
  281.  
  282. SELECT * FROM tbl_Livro
  283. WHERE ID_Autor NOT IN (1,2)
  284.  
  285.  
  286. -- CRIANDO CAMPOS CALCULADOS
  287.  
  288. CREATE TABLE Produtos(
  289.     codProduto SMALLINT,
  290.     NomeProduto VARCHAR(20),
  291.     Preco MONEY,
  292.     Quant SMALLINT,
  293.     Total AS (Preco*Quant)
  294. )
  295.  
  296. SELECT * FROM Produtos
  297.  
  298. INSERT INTO Produtos (codProduto, NomeProduto, Preco, Quant)
  299. VALUES
  300. (1, 'Mouse', 15.00, 2),
  301. (2, 'Teclado', 18.00, 1),
  302. (3, 'Fones', 25.00, 3),
  303. (4, 'Pendrive', 25.00, 3),
  304. (5, 'SD Card', 29.00, 2),
  305. (6, 'DVD-R', 1.30, 12)
  306.  
  307. SELECT * FROM Produtos
  308.  
  309. -- Índices – CREATE INDEX – SQL Server
  310. -- APENAS PARA TABELAS QUE RECEBAM MUITAS CONSULTAS;
  311. -- TABELAS INDEXADAS LAVAM MAIS TEMPO PARA SEREM ATUALIZADAS;
  312.  
  313. CREATE INDEX idx_nome_livro
  314. ON tbl_Livro(Nome_Livro)
  315.  
  316. SELECT * FROM idx_nome_livro
  317.  
  318. -- Criando Regras com CREATE RULE
  319.  
  320. SELECT * FROM tbl_Livro
  321.  
  322. CREATE RULE rl_preco AS @VALOR > 10.00 AND
  323.  
  324. EXEC SP_BINDRULE rl_preco, 'tbl_Livro.Preco_Livro'
  325.  
  326. UPDATE tbl_Livro
  327. SET Preco_Livro = 10.00
  328. WHERE ID_Livro = 101
  329.  
  330. -- BACKUP DO BANCO DE DADOS E RESTAURAÇÃO
  331.  
  332. use db_Biblioteca;
  333. BACKUP DATABASE db_Biblioteca
  334. TO DISK = 'C:\SQL\Backup.bak'
  335. --WITH FORMAT;
  336. GO
  337.  
  338. USE db_Biblioteca;
  339.  
  340. -- Concatenação de Strings
  341. -- OPERADOR DE CONCATENAÇÃO +
  342.  
  343. SELECT * FROM tbl_Livro
  344.  
  345. SELECT 'Lucas '+'Felicio'
  346. SELECT Nome_Autor + ' ' + SobreNome_Autor FROM tbl_Autores
  347.  
  348. -- Collation – Agrupamento de Caracteres ou Colação
  349.  
  350. SELECT * FROM fn_helpcollations() -- PARA VER AS OPÇÕES DE AGRUPAMENTOS DISPONÍVEIS
  351.  
  352. -- PARA VER O ESQUEMA DE COLAÇÃO USADO ATUALMENTE PELO SERVIDOR
  353.  
  354. SELECT SERVERPROPERTY('Collation') AS 'Colação Usada'
  355.  
  356. -- ALTERAR ESQUEMA DE COLAÇÃO DE UM BANCO DE DADOS
  357.  
  358. SELECT DATABASEPROPERTYEX('TESTANDO', 'Collation')
  359.  
  360. ALTER DATABASE TESTANDO
  361. COLLATE Greek_CI_AI
  362.  
  363. -- ALTERANDO COLAÇÃO EM APENAS UMA COLUNA
  364.  
  365. SELECT * FROM tbl_Livro
  366. ORDER BY Nome_Livro
  367. COLLATE Icelandic_CI_AI
  368.  
  369. -- WITH TIES no SQL Server
  370. -- QUERY ABAIXO EXIBE TOP 3 PONTUAÇÕES MESMO QUE O QUARTO TENHA VALOR IGUAL AO 3
  371. -- VERIFICA SE O ULTIMO VALOR TEM O MESMO VALOR LISTADO PELO ULTIMO DO TOP E EXIBE
  372. -- SEMPRE UTILIZADA COM ORDER BY
  373.  
  374. SELECT TOP(3) WITH TIES Nome_Time, Pontos
  375. FROM tbl_Autores
  376. ORDER BY Pontos DESC
  377.  
  378. -- VIEWS (Exibições) – Criar, Alterar e Excluir
  379. --CREATE OU ALTER PARA ALTERAR
  380. CREATE VIEW vw_LivrosAutores
  381. AS
  382. SELECT L.Nome_Livro AS Livro, A.Nome_Autor + ' ' + A.SobreNome_Autor AS Autor, Preco_Livro AS Preco
  383. FROM tbl_Livro AS L
  384. INNER JOIN tbl_Autores AS A
  385. ON L.ID_Autor = A.ID_Autor
  386.  
  387. SELECT *
  388. FROM vw_LivrosAutores
  389. WHERE LIVRO LIKE 'S%'
  390.  
  391. DROP VIEW vw_LivrosAutores
  392.  
  393. -- Subconsultas (subqueries) com Tabelas Derivadas
  394.  
  395. SELECT Resultado.Nome_Autor AS Autor, COUNT(Resultado.Nome_Livro) AS 'Qtd Livros'
  396. FROM
  397. (SELECT Nome_Autor, Nome_Livro, Preco_Livro
  398. FROM tbl_Livro AS L
  399. INNER JOIN tbl_Autores AS A
  400. ON L.ID_Autor = A.ID_Autor) AS Resultado
  401. GROUP BY Resultado.Nome_Autor
  402. ORDER BY Resultado.Nome_Autor
  403.  
  404. -- CTE – Common Table Expression
  405.  
  406. WITH ConsultaCTE (Autor, Livros)
  407. AS
  408. (SELECT Nome_Autor AS Autor, Nome_Livro AS Livros
  409. FROM tbl_Livro AS L
  410. INNER JOIN tbl_Autores AS A
  411. ON L.ID_Autor = A.ID_Autor)
  412. SELECT Autor, COUNT(Livros) AS 'Qtd Livros'
  413. FROM ConsultaCTE
  414. GROUP BY Autor
  415. ORDER BY Autor
  416.  
  417. -- Variáveis – Declaração e atribuição de valores
  418.  
  419. DECLARE @valor INT,
  420.         @texto VARCHAR(40),
  421.         @data_nasc DATE,
  422.         @nada MONEY
  423. SET @valor = 50
  424. SET @texto = 'Lucas'
  425. SET @data_nasc = GETDATE()
  426. SELECT @valor AS Valor, @texto AS Texto,
  427. @data_nasc AS 'Data de Nascimento',
  428. @nada AS Salário
  429.  
  430. -- ATRIBUINDO VALORES A VARIAVEL UTILIZANDO SELECT
  431.  
  432. DECLARE @livro VARCHAR(30)
  433. SELECT @Livro = Nome_Livro
  434. FROM tbl_Livro
  435. WHERE ID_Livro = 101
  436.  
  437. SELECT @Livro AS 'Nome do Livro'
  438.  
  439. -- UTILIZANDO EXEMPLO DE VARIAVEL COM CALCULO
  440.  
  441. DECLARE @preco MONEY, @Quantidade INT, @Nome VARCHAR(30)
  442. SET @Quantidade = 5
  443.  
  444. SELECT @preco = Preco_Livro, @Nome = Nome_Livro
  445. FROM tbl_Livro
  446. WHERE ID_Livro = 101
  447.  
  448. SELECT @nome AS 'Nome do Livro',
  449. @Preco * @Quantidade AS 'Preço dos Livros'
  450.  
  451. -- Conversão de Tipos de Dados no SQL Server com Cast e Convert
  452.  
  453. SELECT 'O Preço do livro '+Nome_Livro + 'é de R$' +
  454. CAST(Preco_Livro AS VARCHAR(6)) AS Item
  455. FROM tbl_Livro
  456. WHERE ID_Autor = 2
  457.  
  458. -- UTILIZANDO FUNÇÃO CONVERT
  459.  
  460. SELECT 'O Preço do livro '+Nome_Livro + 'é de R$ ' +
  461. CONVERT(VARCHAR(6), Preco_Livro)
  462. FROM tbl_Livro
  463. WHERE ID_Autor = 2
  464.  
  465. SELECT 'A Data de publicação é: '+
  466. CONVERT(VARCHAR(15), Data_Pub, 103)
  467. FROM tbl_Livro
  468. WHERE ID_Livro = 102
  469.  
  470. -- Condicional IF / ELSE no SQL Server
  471.  
  472. DECLARE @numero INT,
  473.         @texto VARCHAR(10)
  474.  
  475. SET @numero = 20
  476. SET @texto = 'Fabio'
  477.  
  478. IF @numero = 20
  479.     SELECT 'Número correto'
  480. IF @texto = 'Lucas'
  481.     BEGIN
  482.         SET @numero = 30
  483.         SELECT @numero
  484.     END;
  485. ELSE
  486.     BEGIN
  487.         SET @numero = 40
  488.         SELECT 'Número incorreto'
  489.     END;
  490.  
  491. -- EXEMPLO 2
  492.  
  493. DECLARE @NOME VARCHAR (30),
  494.         @MEDIA REAL,
  495.         @RESULTADO VARCHAR(10)
  496. SELECT
  497.     @NOME = Nome_Aluno,
  498.     @MEDIA = (tbl_alunos.nota1, tbl_alunos.nota2, tbl_alunos.nota3, tbl_alunos.nota4) / 4
  499. FROM tbl_alunos
  500. WHERE nome_aluno = 'Fabio'
  501. BEGIN
  502.     IF @MEDIA >= 7
  503.         SELECT @RESULTADO = 'Aluno Aprovado';
  504.     END;
  505.     ELSE
  506.     BEGIN
  507.         SELECT @RESULTADO = 'Aluno Reprovado';
  508.     END;
  509.  
  510. SELECT 'O Aluno '+@Nome + ' está ' + @RESULTADO +
  511.        ' com média ' CAST(@MEDIA AS VARCHAR);
  512.  
  513. -- Loop While no SQL Server – Estrutura de Repetição
  514.  
  515. DECLARE @VALOR INT
  516. SET @VALOR = 0
  517.  
  518. WHILE @VALOR < 10
  519.     BEGIN
  520.         PRINT 'Número: ' + CAST(@VALOR AS VARCHAR(2))
  521.         SET @VALOR = @VALOR +1
  522.     END;
  523.  
  524. -- EXEMPLO COM BANCO DE DADOS db_Biblioteca
  525.  
  526. DECLARE @CODIGO INT
  527. SET @CODIGO = 100
  528.  
  529.     WHILE @CODIGO < 106
  530.         BEGIN
  531.             SELECT ID_Livro AS ID, Nome_Livro AS LIVRO, Preco_Livro AS PRECO
  532.             FROM tbl_Livro
  533.             WHERE ID_Livro = @CODIGO
  534.             SET @CODIGO = @CODIGO +1
  535.         END;
  536.  
  537. -- Como Criar e Executar Stored Procedures no SQL Server – parte 01
  538.  
  539. CREATE PROCEDURE teste
  540. AS
  541. SELECT 'Lucas Moura' AS Nome
  542.  
  543. EXEC teste
  544.  
  545. --
  546.  
  547. CREATE PROCEDURE p_LivroValor
  548. AS
  549. SELECT Nome_Livro, Preco_Livro
  550. FROM tbl_Livro
  551.  
  552. EXEC p_LivroValor
  553.  
  554. -- VISUALIZAR CONTEUDO DE UMA PROCEDURE
  555.  
  556. sp_helptext p_LivroValor
  557.  
  558. --CRIAR UMA STORED PROCEDURE CRIPTOGRAFADO
  559.  
  560. CREATE PROCEDURE p_LivroISBN
  561. WITH ENCRYPTION
  562. AS
  563. SELECT Nome_Livro, ISBN
  564. FROM tbl_Livro
  565.  
  566. sp_helptext p_LivroISBN
  567.  
  568. -- Parâmetros de Entrada em Stored Procedures no SQL Server
  569.  
  570. ALTER PROCEDURE teste (@PAR1 AS INT)
  571. AS
  572. SELECT @PAR1
  573.  
  574. EXEC teste 130
  575.  
  576. --
  577.  
  578. ALTER PROCEDURE p_LivroValor (@ID AS SMALLINT)
  579. AS
  580.     SELECT Nome_Livro, Preco_Livro
  581.     FROM tbl_Livro
  582.     WHERE ID_Livro = @ID
  583.  
  584. EXEC p_LivroValor 103
  585.  
  586. --
  587.  
  588. ALTER PROCEDURE teste (@PAR1 AS INT, @PAR2 AS VARCHAR(20))
  589. AS
  590. SELECT @PAR1
  591. SELECT @PAR2
  592.  
  593. EXEC teste 24, 'Lucas Felicio'
  594.  
  595. -- POR PARAMETROS
  596.  
  597. EXEC teste @PAR2 = 'Lucas Felicio', @PAR1 = 5
  598.  
  599. -- Stored Procedures - Parâmetros de Entrada e INSERT no SQL Server - parte 03
  600.  
  601. ALTER PROCEDURE p_LivroValor
  602. (@ID SMALLINT, @PRECO MONEY)
  603. AS
  604. SELECT ID_Livro AS ID, Nome_Livro AS LIVRO, Preco_Livro AS PRECO
  605. FROM tbl_Livro
  606. WHERE ID_Livro > @ID AND Preco_Livro > @PRECO
  607.  
  608. EXEC p_LivroValor 105, 46.00
  609.  
  610. --
  611.  
  612. ALTER PROCEDURE p_LivroValor
  613. (@ID SMALLINT, @QUANTIDADE SMALLINT)
  614. AS
  615. SELECT Nome_Livro AS Livro, Preco_Livro * @QUANTIDADE AS PREÇO
  616. FROM tbl_Livro
  617. WHERE ID_Livro = @ID
  618.  
  619. EXEC p_LivroValor 103, 10
  620.  
  621. --
  622.  
  623. CREATE PROCEDURE p_InsereLivro
  624. (@Nome AS VARCHAR(30))
  625. AS
  626. INSERT INTO tbl_Livro (Nome_Livro)
  627. VALUES (@Nome)
  628.  
  629. SELECT * FROM tbl_Livro
  630.  
  631. EXEC p_InsereLivro 'SP_Teste'
  632.  
  633. -- Stored Procedures - Parâmetros de Saída e RETURN no SQL Server - parte 04
  634.  
  635. CREATE PROCEDURE p_valor_padrao
  636. (@PAR1 INT, @PAR2 VARCHAR(20) = 'Valor Padrão!')
  637. AS
  638. SELECT 'Valor do Parametro 1: ' +CAST(@PAR1 AS VARCHAR)
  639. SELECT 'Valor do Parametro 2: '+@PAR2
  640.  
  641. EXEC p_valor_padrao 12, 66
  642.  
  643. --
  644.  
  645. ALTER PROCEDURE teste
  646. (@par1 INT OUTPUT)
  647. AS
  648. SELECT @par1 * 2
  649. RETURN
  650.  
  651. DECLARE @VALOR INT = 15
  652. EXEC teste @VALOR OUTPUT
  653. PRINT
  654.  
  655. --
  656.  
  657. ALTER PROCEDURE p_LivroValor
  658. (@QUANTIDADE SMALLINT, @COD SMALLINT = -10, @ID SMALLINT)
  659. AS
  660.     SET NOCOUNT ON -- RETIRAR MENSAGEM DE LINHAS AFETADAS
  661.     IF @ID >=100
  662.         BEGIN
  663.             SELECT Nome_Livro AS LIVRO, Preco_Livro * @QUANTIDADE AS PREÇO
  664.             FROM tbl_Livro
  665.             WHERE ID_Livro = @ID
  666.     RETURN 1
  667.     END
  668.         ELSE
  669.     RETURN @COD
  670.    
  671. DECLARE @CODIGO INT
  672. EXEC @CODIGO = p_LivroValor @ID = 102, @QUANTIDADE = 20
  673. PRINT @CODIGO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement