Tengo algunos T-SQL autogenerados, que probablemente sean válidos, pero realmente no entiendo. ALTER TABLE [dbo].[MyTable] WITH CHECK CHECK CONSTRAINT [My_FORIEGN_KEY]; Sé lo que es una restricción de clave externa, pero ¿cuál es el CHECK
Tengo algunos T-SQL autogenerados, que probablemente sean válidos, pero realmente no entiendo. ALTER TABLE [dbo].[MyTable] WITH CHECK CHECK CONSTRAINT [My_FORIEGN_KEY]; Sé lo que es una restricción de clave externa, pero ¿cuál es el CHECK
En nuestra aplicación, tenemos una cuadrícula donde los usuarios pueden buscar en una gran cantidad de registros (10-20 millones). La cuadrícula admite la clasificación en orden ascendente y descendente en varias columnas (más de 20). Muchos de los valores tampoco son únicos, por lo que la...
Tengo una consulta que se ejecuta mucho más rápido con select top 100y mucho más lento sin top 100. El número de registros devueltos es 0. ¿Podría explicar la diferencia en los planes de consulta o compartir enlaces donde se explica esa diferencia? La consulta sin toptexto: SELECT --TOP...
Perdóname, soy un desarrollador que se ha mudado al mundo de SQL. Pensé que podría mejorar algunos SQL agregando variables, pero no funcionó como esperaba. ¿Alguien puede decirme por qué esto no funciona? No quiero una solución, quiero saber las razones por las que esto no funciona como imagino que...
Uno de INSERT INTOscript está escrito de la siguiente manera. INSERT INTO tableName (Column1, Column2,....) VALUES (value1, Value2,...), (value1, Value2,...),.... El siguiente es el error al que nos enfrentamos al analizar la instrucción de inserción anterior Mensaje 10738, Nivel 15, Estado 1,...
Tengo columnas de precios sensibles que me gustaría actualizar solo a través de un procedimiento almacenado. Me gustaría que todo el código o los intentos manuales de alterar los valores en estas columnas de precios fallen si no está utilizando los procedimientos almacenados diseñados para...
¿Por qué algo como esto no funciona? SELECT CASE WHEN NULLIF(COL_LENGTH('Customers', 'Somecol'), '') IS NULL THEN NULL ELSE Somecol END AS MyTest FROM Customers; Solo estoy verificando si la columna existe, sin embargo, SQL Server se queja de que Somecolno existe. ¿Hay una alternativa a esto en...
Necesito crear algunos datos de prueba que involucren una jerarquía. Podría facilitarlo y hacer un par de CROSS JOINsegundos, pero eso me daría una estructura que es completamente uniforme / sin ninguna variación. Eso no solo parece aburrido, sino que la falta de variación en los datos de la prueba...
Tengo un script simple que obtiene cuatro números aleatorios (1 a 4) y luego se une para obtener el número correspondiente de database_id. Cuando ejecuto el script con un LEFT JOIN, obtengo cuatro filas cada vez (el resultado esperado). Sin embargo, cuando lo ejecuto con un INNER JOIN, obtengo un...
Aquí hay un árbol de ensamblaje que quiero buscar usando una T-SQLconsulta recursiva (presumiblemente CTE) con los resultados esperados a continuación. Quiero saber la cantidad total por ensamblaje dada cualquier parte. Es decir, si busco 'Remache', quiero saber el recuento total en cada nivel...
Un patrón bastante común en la aplicación de base de datos con la que trabajo es la necesidad de crear un procedimiento almacenado para un informe o utilidad que tenga un "modo de vista previa". Cuando dicho procedimiento se actualiza, este parámetro indica que los resultados de la acción deben...
Tengo una consulta SQL que he pasado los últimos dos días tratando de optimizar usando prueba y error y el plan de ejecución, pero fue en vano. Perdóname por hacer esto, pero publicaré todo el plan de ejecución aquí. He hecho el esfuerzo de hacer que los nombres de tabla y columna en el plan de...
Hice un violín de SQL para esta pregunta si eso facilita las cosas a cualquiera. Tengo una especie de base de datos de deportes de fantasía y lo que estoy tratando de descubrir es cómo obtener datos de "racha actual" (como 'W2' si el equipo ha ganado sus últimos 2 enfrentamientos, o 'L1' si...
Hace dos días, nuestro cliente cambió uno de los nombres de nuestro servidor de desarrollo Después de cambiar el nombre del servidor, todos mis trabajos de mantenimiento y otros trabajos fallan porque el nombre del servidor no coincide. Estamos utilizando la versión 2012 del servidor SQL y el...
Quiero crear una nueva función por script en mi base de datos. El código del script está abajo: IF Exists(Select * From sys.sysobjects A Where A.name =N'fn_myfunc' and xtype=N'FN') return; CREATE FUNCTION fn_myfunc () returns varchar(10) AS Begin ... End Pero cuando ejecuto el script anterior,...
Me pregunto por qué, para la función de valor escalar, tengo que otorgar al usuario la ejecución en lugar de solo una selección. mientras tanto, una tabla con funciones valiosas funciona bien con solo seleccionar el permiso o la db_datareadermembresía. para ser más claro, aquí está mi ejemplo:...
Tengo una consulta que une algunas tablas y funciona bastante mal: las estimaciones de fila están muy lejos (1000 veces) y se elige la unión de bucles anidados, lo que da como resultado múltiples escaneos de tabla. La forma de la consulta es bastante sencilla, se parece a esto: SELECT t1.id FROM...
Uno de nuestros clientes usa para algunas columnas el tipo DECIMAL(18,0)de datos en su base de datos SQL Server 2008R2. Debido a que las columnas crecen bastante lentamente, recientemente propuso cambiar el tipo de datos DECIMAL(5,0)para recuperar algo de almacenamiento. Según la biblioteca MSDN ,...
Los generadores de código tienden a ser más simples cuando generan resultados utilizando la nueva notación de soporte de Microsoft ( []) para casi todo. Cuando lo vi por primera vez, pensé en una reencarnación de la notación de identificador citado algo prohibido. Hasta donde sé, es una extensión...
Tengo algunas ALTER TABLEdeclaraciones que estoy ejecutando. No todos funcionan (son el resultado de ejecutar SQL Data Compare) y quiero agruparlos en algunas transacciones y revertir las declaraciones si algo sale mal. ¿Es esto posible, o son solo datos que pueden