Advertisement
Guest User

Untitled

a guest
Nov 12th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.72 KB | None | 0 0
  1. --REPASO EL2
  2. ------------
  3. use master
  4. go
  5.  
  6. if db_id('mi_negocio') is not null
  7. begin
  8. drop database mi_negocio
  9. end
  10. go
  11.  
  12. create database mi_negocio
  13. go
  14.  
  15. USE mi_negocio
  16. go
  17.  
  18. set dateformat ymd
  19. go
  20.  
  21. CREATE TABLE pais (
  22. Idpais char(3) primary key,
  23. NombrePais varchar(40) not null
  24. )
  25. go
  26.  
  27.  
  28. CREATE TABLE Cliente (
  29. IdCliente char(5) primary key,
  30. NomCliente varchar(40) not null,
  31. DirCliente varchar(60) not null,
  32. idpais char(3) references pais,
  33. fonoCliente varchar(25) not null
  34. )
  35. go
  36.  
  37. CREATE TABLE Proveedor (
  38. IdProveedor int primary key,
  39. NomProveedor varchar(40) not null,
  40. DirProveedor varchar(60) not null,
  41. NomContacto varchar(80) not null,
  42. CargoContacto varchar(50) not null,
  43. idpais char(3) References pais,
  44. fonoProveedor varchar(15) not null,
  45. FaxProveedor varchar(15) not null
  46. )
  47. go
  48.  
  49. CREATE TABLE Producto (
  50. IdProducto int primary key,
  51. NomProducto varchar(40) not null,
  52. IdProveedor int References Proveedor,
  53. CantxUnidad INT not null,
  54. PrecioUnidad decimal(10,0) not null,
  55. UnidadesEnExistencia smallint not null,
  56. UnidadesEnPedido smallint not null)
  57. go
  58.  
  59.  
  60. /*2. INSERTAR 3 REGISTROS EN CADA TABLA.*/
  61. INSERT INTO PAIS VALUES ('123','COLOMBIA')
  62. INSERT INTO PAIS VALUES ('134','MEXICO')
  63. INSERT INTO PAIS VALUES ('145','CUBA')
  64. GO
  65.  
  66.  
  67. INSERT INTO CLIENTE VALUES ('23489','JUAN','CALLE ANGAMOS','123','987654321')
  68. INSERT INTO CLIENTE VALUES ('24578','ANTONIO','CALLE VILLA','134','987654325')
  69. INSERT INTO CLIENTE VALUES ('25678','MARCOS','CALLE REAL','145','987568752')
  70. GO
  71.  
  72. INSERT INTO PROVEEDOR VALUES ('385','PIERO', ' CALLE AMANCAES', 'ALFONSO', ' GERENTE', '123', '98765425', '2354876541' )
  73. INSERT INTO PROVEEDOR VALUES ('356','MARCOS', ' CALLE ANGAMOS', 'MARCO', ' PRESIDENTE', '134', '98765425', '2354876541' )
  74. INSERT INTO PROVEEDOR VALUES ('365','ANDREAS', ' CALLE BENAVIDES', 'JOHN', ' ADMINISTRADOR', '145', '98765425', '2354876541' )
  75. GO
  76.  
  77.  
  78. INSERT INTO PRODUCTO VALUES ('456','VERDURAS', '385', 20, 50.0, 50, 2 )
  79. INSERT INTO PRODUCTO VALUES ('467','FRUTAS', '356', 40, 20.0, 20, 7 )
  80. INSERT INTO PRODUCTO VALUES ('478','CARNE', '365', 30, 40.0, 30, 1 )
  81. GO
  82.  
  83.  
  84.  
  85. --inner join y subconsulta
  86.  
  87.  
  88.  
  89.  
  90. /*3. Obtener los datos de los paises que tienen
  91. clientes.*/
  92. SELECT *
  93. FROM PAIS AS P INNER JOIN CLIENTE AS C
  94. ON P.Idpais= C.idpais
  95. WHERE P.NombrePais LIKE 'C%'
  96. GO
  97.  
  98. SELECT P.*
  99. FROM PAIS AS P
  100. WHERE P.Idpais IN ( SELECT C.idpais
  101. FROM CLIENTE AS C
  102. WHERE P.NombrePais LIKE 'C%')
  103. GO
  104.  
  105.  
  106.  
  107.  
  108. /* 4. Seleccionar los países que empiecen por C que tengan clientes ya registrados*/
  109. IF OBJECT_ID('USP_IPA') IS NOT NULL
  110. DROP PROC USP_IPA
  111. GO
  112. CREATE PROC USP_IPA
  113. @NOMPA VARCHAR(30)
  114. AS
  115. SELECT P.NombrePais
  116. FROM PAIS AS P INNER JOIN CLIENTE AS C
  117. ON P.Idpais= C.idpais
  118. WHERE P.NombrePais LIKE @NOMPA
  119. GO
  120. /*Ejecutar*/
  121.  
  122. EXEC USP_IPA 'C%'
  123.  
  124.  
  125.  
  126.  
  127. /*5. Procedimiento almacenado que permite mostrar los
  128. productos de un determinado proveedor,el nombre del
  129. proveedor debe ser ingresado como parámetro.*/
  130. IF OBJECT_ID('USP_NOP') IS NOT NULL
  131. DROP PROC USP_NOP
  132. GO
  133. CREATE PROC USP_NOP
  134. @NOMPRO VARCHAR(30)
  135. AS
  136. SELECT P.NomProducto AS 'NOMBRE DEL PRODUCTO'
  137. FROM PRODUCTO AS P INNER JOIN PROVEEDOR AS PR
  138. ON P.IdProveedor= PR.IdProveedor
  139. WHERE PR.NomProveedor LIKE @NOMPRO
  140. GO
  141. /*Ejecutar*/
  142.  
  143. EXEC USP_NOP 'PIERO'
  144.  
  145.  
  146.  
  147.  
  148. /*6. Procedimiento almacenado que permite mostrar los
  149. proveedores de un determinado país, el nombre del país
  150. debe ser ingresado como parámetrode entrada.*/
  151. IF OBJECT_ID('USP_NOMPA') IS NOT NULL
  152. DROP PROC USP_NOMPA
  153. GO
  154. CREATE PROC USP_NOMPA
  155. @NOMPA VARCHAR(30)
  156. AS
  157. SELECT PR.*
  158. FROM PAIS AS P INNER JOIN PROVEEDOR AS PR
  159. ON PR.idpais= P.Idpais
  160. WHERE P.NombrePais = @NOMPA
  161. GO
  162. /*Ejecutar*/
  163.  
  164. EXEC USP_NOMPA 'CUBA'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement