Entradas

Mostrando entradas de 2015

Stored Procedure con Cursores SQL Server 2014

create proc usp_buscar_idprod @id int as begin declare @idprod int, @nomprod varchar(40), @nomprov varchar(40) declare cursor1 cursor for select p.IdProducto, p.NomProducto, r.NomProveedor from Compras.productos p join Compras.proveedores r on p.IdProveedor = r.IdProveedor where p.IdProducto = @id open cursor1 fetch cursor1 into @idprod, @nomprod, @nomprov while @@FETCH_STATUS=0 begin print str(@idprod) + ' ' + @nomprod + ' ' + @nomprov fetch cursor1 into @idprod, @nomprod, @nomprov end close cursor1 deallocate cursor1 end go --ejcutar exec usp_buscar_idprod 10

Conexion Java con SQL Server

package com.sql; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import javax.swing.JOptionPane; public class Conexion {     //var     private Connection cone=null;     //constructor     public Conexion(){         try{             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");             String url="jdbc:sqlserver://localhost:1433;databaseName=BD_Supermercado;";             cone=DriverManager.getConnection(url, "sa", "xxxxx");         }catch(SQLException ex){             JOptionPane.showMessageDialog(null, "Error Servidor:"                     +ex.getMessage());         }catch(Exception e){             JOptionPane.showMessageDialog(null, "Error Driver:"                     +e.getMessage());         }     }     //metodo     public Connection getConnection(){         return cone;     } }

FUNCIONES EN ORACLE

--FUNCIONES EN ORACLE --esta funcion retorna el nombre del empleado a partir del codigo create or replace function f_nom_emple(v_cod in number)   return varchar2 is   v_nom varchar2(20); begin   select first_name into v_nom   from employees   where employee_id = v_cod;   return v_nom; end; --ejecutando la funcion select f_nom_emple(105) from dual; --funcion que muestra el sueldo mas alto de los empleados create or replace function f_sueldo_alto   return number is   v_salario number(8,2); begin   select max(salary) into v_salario   from employees;       return v_salario; end; --ejecutar select f_sueldo_alto as salario_alto from dual; --funcion que muestra el codigo de pais a partir del nombre de pais create or replace function f_codpais(v_nompais in varchar2)   return char is  v_codpais char(2); begin      select country_id into v_codpais      from countries      where country_name = v_nompais;          return v_codpais; end; --ejecutar select

Procedimientos Almacenados en SQL Server 2014

/*ejemplos de procedimientos almacenados*/ --procedimiento almacenado sin parametros create procedure usp_listarproductos as begin select p.IdProducto as codigo, p.NomProducto as NombreProducto, c.Descripcion as Categoria, p.PrecioUnidad as Precio, p.UnidadesEnExistencia as Stock, r.NomProveedor as Proveedor from Compras.productos p join compras.categorias c on p.IdCategoria = c.IdCategoria join Compras.proveedores r on p.IdProveedor = r.IdProveedor end --ejecutar exec usp_listarproductos --procedimientos almacenados con parametros /*select*/ create procedure usp_tot_stockcategorias @nomcate varchar(15) as select c.NombreCategoria, sum(p.UnidadesEnExistencia) as 'Total Stock' from compras.productos p inner join compras.categorias c on p.IdCategoria = c.IdCategoria where c.NombreCategoria=@nomcate group by c.NombreCategoria --ejecutar execute usp_tot_stockcategorias 'Bebidas' go /*insert*/ create procedure usp_agregar_clientes @codclie v

Triggers en SQL Server 2014

/*creacion de triggers*/ --ejemplo1: create trigger Ventas.tr_insert_paises on Ventas.paises for insert as print 'Se desencadeno el trigger tr_insert_paises' go --borrar trigger drop trigger Ventas.tr_insert_paises go --probando trigger insert into Ventas.paises values('010','Venezuela') go select * from Ventas.paises go --ejemplo2: create trigger Ventas.tr_mensajes_clientes on Ventas.clientes for insert, update, delete as print 'Se disparo el mensaje del trigger clientes' go --store procedure create procedure usp_add_clientes @idclie varchar(5), @nomclie varchar(40), @dirclie varchar(60), @idpais char(3), @fonoclie varchar(25) as begin begin tran insert into Ventas.clientes values(@idclie,@nomclie,@dirclie,@idpais,@fonoclie) if(@@ERROR=0) begin commit tran end else begin rollback tran end end --ejecutar store procedure: exec usp_add_clientes '00002','Jose Maria Torres Rios','Jr. Aza

TRIGGER EN SQL SERVER 2014

use Negocios2015 go /*creando disparadores(trigger)*/ --ejemplo1: create trigger tr_eviarmensaje_clientes on Ventas.clientes for insert as print 'Se registro satisfactoriamente el cliente' go --probando trigger insert into Ventas.clientes values('ATJOS','Alca Torres Jose','Jr. Junin 123','001', '999789458') go --ejemplo2: create trigger tr_transacciones_paises on Ventas.paises for insert, update, delete as print 'Se ejecuto el trigger para la tabla pais' go --probando trigger delete from Ventas.paises where idpais='021' go insert into Ventas.paises values('011','Ecuador') go update Ventas.paises Set NombrePais='Bolivia' where Idpais='011' go --ejemplo3: alter trigger RRHH.tr_cargos on RRHH.Cargos for insert, update, delete as print 'Se ejecuto el trigger para la tabla Cargos' go --borrar trigger drop trigger RRHH.tr_cargos go --ejemplo4: tabla

Sentencias de Control - SQL Server 2014

/*utilizando: IF*/ declare @idemple int, @cant int set @idemple=2 select @cant=count(*) from ventas.pedidoscabe where IdEmpleado = @idemple if @cant=0 print 'Empleado realizo cero pedidos' else if @cant=1 print 'Empleado realizo un pedido' else print 'Empleado realizo varios pedidos' go /*utilizando: CASE*/ select IdEmpleado, NomEmpleado, ApeEmpleado, (case idcargo when 1 then 'Representante de Ventas' when 2 then 'Ejecutivo de Ventas' when 3 then 'Supervisor de Ventas' when 4 then 'Auxiliar de Ventas' end)as cargo from RRHH.empleados go declare @stock int set @stock=100 select NomProducto, PrecioUnidad, UnidadesEnExistencia, (case when UnidadesEnExistencia>@stock then 'Stokeado' when UnidadesEnExistencia=@stock then 'Limite' when UnidadesEnExistencia<@stock then 'Compre' end)as Estado from compras.productos go /*utilizando:  WHILE*/ declare @x int set @x=0 whi

Variables Publicas y Globales - SQL Server 2014

--utilizando variables: Locales --ejemplo1 declare @cod varchar(5) set @cod='BOLID' select * from ventas.clientes where IdCliente=@cod go --EJEMPLO2 declare @pre1 decimal, @pre2 decimal set @pre1=10 set @pre2=20 select * from Compras.productos where PrecioUnidad Between @pre1 and @pre2 go --ejemplo3 declare @pre1 decimal, @pre2 decimal, @cate varchar(15) set @pre1=10 set @pre2=50 set @cate='Carnes' select p.IdProducto, p.NomProducto, p.PrecioUnidad, c.NombreCategoria from Compras.productos p join Compras.categorias c on p.IdCategoria = c.IdCategoria where c.NombreCategoria=@cate and PrecioUnidad between @pre1 and @pre2 go --utilizando variables: Publicas select @@VERSION as version print @@version go select @@SERVERNAME as servidor print @@servername go select @@LANGUAGE as lenguaje go select @@MAX_CONNECTIONS select @@CONNECTIONS

OPERADOR CUBE Y ROLLUP - SQL SERVER 2014

/**UTILIZANDO: Operador CUBE*/ select IdCliente, PaiDestinatario, count(*)as 'Cantidad de Pedidos' from ventas.pedidoscabe group by IdCliente, PaiDestinatario with cube go select IdCliente, PaiDestinatario, count(*)as 'Cantidad de Pedidos' from ventas.pedidoscabe group by IdCliente, PaiDestinatario with rollup go --cantidad de pedidos realizados por año por cada empleado select (e.NomEmpleado + ', ' + e.ApeEmpleado)as empleado, year(p.FechaPedido)as año, count(*) as 'Cantidad Pedidos' from ventas.pedidoscabe p join RRHH.empleados e on p.IdEmpleado = e.IdEmpleado group by (e.NomEmpleado + ', ' + e.ApeEmpleado), year(p.FechaPedido) with cube --por cada año cuantos pedidos se han realizado select year(FechaPedido)as año, DateName(Month,FechaPedido)as mes, count(*) as Cantidad from ventas.pedidoscabe group by year(FechaPedido), DateName(Month,FechaPedido) with rollup go --By Ing. Jhonatan Abal Mejia