Académique Documents
Professionnel Documents
Culture Documents
Entonces, se haría:
FROM
Kardex
WHERE
CATEGORIA = 'Tienda' and fecha BETWEEN '20170601' AND '20170630'
GROUP BY
CodigoProducto, DescripcionProducto;
Express (la que tu tienes y es libre de cargo, free, pero version light, capacidad limitado POR base de datos)
Developer (para desarrolladores)
Standard
Enterprise (muy profesional, pero muy costosa)
Una guía:
https://www.microsoft.com/es-es/sql-server/sql-server-2016-comparison
Si la base de datos no es muy grande, por lo que se podria optar por la edicion STANDARD, ahora bien, si solo vas a
ALMACENAR DATOS y no vas a utilizar los demas servicios como REPORTING SERVICES, ANALISYS
SERVICES, INTEGRATION SERVICES, etc.
Entonces, "reparte" tus bases en "varias bases" dentro de tu version EXPRESS, no nos comentas si es la EXPRESS simple
o la ADVANCED.
Debes hacer un PLAN DE MIGRACION, en la cual, montes tu nueva base (con otro nombre), pases los datos actuales de
tu base productiva a tu nueva base, cambies el nombre a tu base productiva y renombres la base por la que vas a substituir.
Msg 824, Level 24, State 2, Line 1 SQL Server detected a logical consistency-based I/O error:...
Gracias
Rta. …….DBCC CHECKTABLE
Exportar resultado de una Consulta a un archivo .SQL
Si estás usando autenticación integrada de windows puedes hacer esto:
"D:\Bases\myprods.txt" -T -c
SELECT NumOperador,
DiasDescansados = COUNT(DISTINCT FechaDescanso) FROM FechasDescansos
GROUP BY NumOperador;
Rta. Es porque tienes varios begin y end, estos delimitan las instrucciones del procedimiento, solo deberías tener el begin
al principio y el end hasta el final. Tienes que quitar los que tienes en medio.
Se debe corregir esto aca: Y agrego, reemplaza tu instruccion IN(consulta) Por EXISTS
BEGIN
select COCOEX AS
'SUBEXPLOTACION',CONREG,COFEAC,EXESPE,OPTIPR,prdesc,OPTICS,santicos.csdesc as
'desc tipo',OPCOSA,sib_sibconsa.csdesc,CONUME,opdeta,coobse,COFECA,conumu
FROM DIL_CORDEN
INNER JOIN SIB_SIBEXPLO ON COCOEX=EXCOEX
left JOIN DIL_ORDPEN ON CONREG=OPNREG
left JOIN SANTIPRO ON opTIPR = PRPROC
left join santicos on optics = cstics AND optipr=csproc
left join sib_sibconsa on opcosa = cscodi AND opcoes=csespe
where COFECA >convert(datetime,@fechadesde,103) AND EXESPE IN
('01','03','04','23','24','25','82') AND SUBSTRING(CONREG,5,1)<>'3'
UNION
select COCOEX AS
'SUBEXPLOTACION',CONREG,COFEAC,EXESPE,OPTIPR,prdesc,OPTICS,santicos.csdesc as
'desc tipo',OPCOSA,sib_sibconsa.csdesc,CONUME,opdeta,coobse,COFECA,conumu
FROM DIL_CORDEN_o
INNER JOIN SIB_SIBEXPLO ON COCOEX=EXCOEX
left JOIN DIL_ORDPEN_o ON CONREG=OPNREG
left JOIN SANTIPRO ON opTIPR = PRPROC
left join santicos on optics = cstics AND optipr=csproc
left join sib_sibconsa on opcosa = cscodi AND opcoes=csespe
where COFECA >convert(datetime,@fechadesde,103) AND EXESPE IN
('01','03','04','23','24','25','82') AND SUBSTRING(CONREG,5,1)<>'3'
ORDER BY CONREG
END
BEGIN
UPDATE JSF_DIL_CORDEN
SET GRABADO = CONCAT('Grabado: ',CONVERT(varchar(10),getdate(),103))
where CONREG in (select distinct CONREG
FROM DIL_CORDEN
INNER JOIN SIB_SIBEXPLO ON COCOEX=EXCOEX
left JOIN DIL_ORDPEN ON CONREG=OPNREG
left JOIN SANTIPRO ON opTIPR = PRPROC
left join santicos on optics = cstics AND optipr=csproc
left join sib_sibconsa on opcosa = cscodi AND opcoes=csespe
where COFECA >convert(datetime,@fechadesde,103) AND EXESPE IN
('01','03','04','23','24','25','82') AND SUBSTRING(CONREG,5,1)<>'3'
)
/*Actualizo el campo isGrabada a 1*/
update JSF_DIL_CORDEN
set ISGRABADA = 1
where GRABADO in (select GRABADO from JSF_DIL_CORDEN where GRABADO like
'%Grabado%')
END
BEGIN
UPDATE JSF_DIL_CORDEN_O
SET GRABADO = CONCAT('Grabado: ',CONVERT(varchar(10),getdate(),103))
where CONREG in (select distinct CONREG
FROM DIL_CORDEN_O
INNER JOIN SIB_SIBEXPLO ON COCOEX=EXCOEX
left JOIN DIL_ORDPEN ON CONREG=OPNREG
left JOIN SANTIPRO ON opTIPR = PRPROC
left join santicos on optics = cstics AND optipr=csproc
left join sib_sibconsa on opcosa = cscodi AND opcoes=csespe
where COFECA >convert(datetime,@fechadesde,103) AND EXESPE IN
('01','03','04','23','24','25','82') AND SUBSTRING(CONREG,5,1)<>'3'
)
END
GO
Que bueno que le funciono, el EXISTS (solo), es lo contrario del NOT EXISTS
https://www.microsoft.com/es-mx/download/details.aspx?id=8961
Tambien deberas verificar que VERSION bajaste, recuerda que estamos en la 2016 y probando la 2017 NVE CTP
Saludos
https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms
Esto es lo que me hace falta para poder restaurar la base luego de una copia de seguridad
Si intentas hacerlo en la misma base, pues es como tratar de quitar el techo de una habitacion, estando parada en el.
USE MASTER
GO
.........................
ANOTACIONES ESPECIALES
declare @numOperador int, @FechaDesde datetime, @FechaHasta datetime
set @FechaDesde='2017-05-01 00:00:00.000'
set @FechaHasta='2017-06-30 00:00:00.000'
set @numOperador=0
Consulta SQL de fechas en rango inclusive
SELECT * FROM bitacora where id_sitio in ('1','2') and fecha between '2017-06-29 00:00:00' and '2017-07-01 23:59:59';
ANOTACIONES ESPECIALES
CREATE TABLE Origen(
Id_Origen int identity(1,1) primary key,
Id_Ciudad int not null,
Fecha datetime
FOREIGN KEY (Id_Ciudad) REFERENCES Ciudad(Id_ciudad))
WHERE O.Fecha >= '20120101 00:00:00:001' AND O.Fecha <= '20121231 11:59:59:000'
GROUP BY V.Id_VueloO.Fecha
Las FECHAS o campos de tipo FECHA, siempre (todos) los motores de base de datos, las guardan en formato
NUMERICO, es por eso que se deben filtrar con >= o <=, sera mucho mas eficiente.
ANOTACIONES ESPECIALES - Eliminar duplicados con
DISTINCT
La palabra clave DISTINCT elimina las filas duplicadas de los resultados de una instrucción
SELECT. Si no se especifica DISTINCT, se devuelven todas las filas, incluidas las duplicadas. Por
ejemplo, si selecciona todos los Id. de producto de ProductInventory sin DISTINCT, se devolverán
1069 filas.
Con DISTINCT, puede eliminar los duplicados y ver sólo los Id. de producto que sean únicos.
USE AdventureWorks2008R2;
GO
SELECT DISTINCT ProductID
FROM Production.ProductInventory ;
Esta consulta devuelve 432 filas.
where [data type] is a valid data type in the RDBMS you are working with.
Examples
Table Student_Score
StudentID integer
First_Name char(20)
Score float
1 Jenny 85.2
2 Bob 92.5
3 Alice 90
4 James 120.1
Example 1
SELECT First_Name, CAST(Score AS Integer) Int_Score FROM Student_Score;
Result:
First_Name Int_Score
Jenny 85
Bob 92
Alice 90
James 120
Result:
First_Name Char_Score
Jenny 85.
Bob 92.
Alice 90
James 120
ANOTACIONES ESPECIALES
-- Creamos el prodcedimiento
CREATE PROCEDURE usp_CantidadMateriaPrima
@CodProdId int,
@MateriaId int
AS
BEGIN
SET NOCOUNT ON
-- Valida que exista el PRODUCTO
IF NOT EXISTS(SELECT CodProdId FROM #CodProd WHERE CodProd = @CodProdID)
BEGIN
SELECT 'El producto indicado, no existe'
RETURN
END
-- Valida que exista la MATERIA PRIMA
IF NOT EXISTS(SELECT CodMat FROM #CodMat WHERE CodMat = @@MateriaId)
BEGIN
SELECT 'El codigo de la materia prima, no existe'
RETURN
END
O DE ESTA MANERA:
Declare @z Int
Set @z = 1
While (@z < 169)
Begin
Insert Into #tmp_DiasMes1 (UserId, dt_val)
Select Distinct @z, dt_val
From #tmp_DiasMes1
Where UserId <> @z
Set @z = @z + 1
End
O TAMBIEN:
drop table #Operador;
ANOTACIONES ESPECIALES
Por cada INSERT, despues debes ejecutar CHECKPOINT
Ahora, si se tarda, es seguramente por los indices, deberias verificar los indices de tus tablas fuente y crear los indices
necesarios en las tablas destino.
Si lo que quiere comprobar que sus backups son validos, es tan sencillo como:
Ahora,
Para duplicar una tabla, podemos hacer varias cosas, copiar sólo la estructura:
http://www.sql-server-helper.com/error-messages/msg-104.aspx
SELECT [FullName]
FROM (
SELECT [FirstName] + [LastName] AS [FullName], [LastName]
FROM [dbo].[Employees]
UNION
SELECT [FirstName] + [LastName] AS [FullName], [LastName]
FROM [dbo].[Managers]) A
ORDER BY [LastName]
MENSAJES DE ERROR SQL SERVER - PÁGINA
http://www.sql-server-helper.com/error-messages/msg-104.aspx
https://simo.cnsc.gov.co/#dashboardciudadano
scabino2017
Misena2017
ENLACES DE INTERES:
http://www.coomeva.com.co/publicaciones.php?id=32653
Ahora, ojo:
Para hacer una descriminacion de tus campos con NULL, puedes hacerlo en el where.
Bueno queridos compañeros, mi experiencia es que para que esto funcione debemos tomar en cuenta que si hay
registros con valor nulo(.NULL.) lo correcto es:
Select * from tabla where !isNull(campo), cualquier duda mandame mas datos a mi
correo y con gusto te regreso la respuesta.