elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 [6] 7 8 9 10 11 12 13
51  Programación / Bases de Datos / Re: Retornar el número de error de un stored procedure en SQL Server en: 2 Octubre 2013, 15:43 pm
Sí, está bien. Tendría que haber aclarado que estoy usando SQL Server 2005. Por lo que he leído esta versión no admite los bloques TRY y CATCH.
52  Programación / Bases de Datos / Retornar el número de error de un stored procedure en SQL Server en: 1 Octubre 2013, 21:15 pm
Quiero crear un procedimiento que en caso de error me retorne el número del error.
Tengo el siguiente código:

Código
  1. CREATE PROCEDURE proc4
  2. @idSeccion NCHAR(3),
  3. @descripcion VARCHAR(20)
  4. AS
  5. BEGIN
  6. INSERT INTO Secciones
  7. VALUES(@idSeccion, @descripcion)
  8. IF @@ERROR <> 0
  9. BEGIN
  10. RETURN @@ERROR
  11. END
  12. ELSE
  13. BEGIN
  14. RETURN 1
  15. END
  16. END
  17.  

Pero, a pesar de producirse el error, siempre me devuelve 0.
¿Cuál sería la forma correcta de conseguir esto? ¿Qué estoy haciendo mal?
53  Foros Generales / Dudas Generales / Re: (Duda) ¿Donde aprender ingles? en: 1 Octubre 2013, 20:17 pm
Sí, yo recomiendo el TELL ME MORE también. Cuando lo empezé a usar sabía poco y nada de inglés y la verdad que me ayudó mucho. Además de que me resulta mucho más entretenido que el ROSETTA STONE, este te repite las palabras una y otra vez hasta el cansancio. Talvez esté bueno para aprender un idioma del que no tengas ni la menor idea de cómo es, como podría ser el chino por ejemplo.
54  Programación / Bases de Datos / Re: ¿Cómo evito mostrar columnas repetidas? en: 1 Octubre 2013, 18:20 pm
¿La cláusula USING es propia de MySQL, no? Lo que pasa que yo estoy usando SQL Server. Igual está bueno el dato; me sirve a futuro.
55  Programación / Bases de Datos / Re: T-SQL ¿Cuándo debo usar GO? en: 19 Septiembre 2013, 18:54 pm
Voy agregando lo que vaya encontrando. Talvez le sirva a alguien más.


"La instrucción CREATE PROCEDURE no se puede combinar con otras instrucciones Transact-SQL en un único lote."

O sea, si el procedimiento que estoy creando no encabeza el script, debe de ser precedido por un GO, de modo tal que el procedimiento se enviará al servidor en un lote destinado exclusivamente para esto.

--------------------

Edito:

"Las instrucciones CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE SCHEMA, CREATE TRIGGER y CREATE VIEW no pueden combinarse con otras instrucciones de un lote. El lote debe empezar con una instrucción CREATE. Las siguientes instrucciones del lote se interpretarán como parte de la definición de la primera instrucción CREATE."

Moraleja: cada vez que se use un CREATE algo, hay que poner un GO antes.
56  Foros Generales / Foro Libre / Re: ¿Por qué siempre borracho? en: 17 Septiembre 2013, 20:00 pm
No entiendo porque siempre tengo que estar borracho para ser Felíz

Mi opinión: La felicidad está sólo en la cabeza de uno. Probablemente cuando tomas no piensas tanto. Yo creo que la felicidad es inversamente proporcional a la razón. Cuanto menos pienses, y más te parezcas a un animal que únicamente actua por impulsos, más feliz serás. Las personas más felices suelen ser las que no tienen la más mínima idea de nada, viven el presente y nada más les importa.

¿La solución? Y yo que sé, dejá de pensar... Uno es infeliz por no estar satisfecho con lo que se tiene (y con tener no me refiero exclusivamente a cosas materiales, sino todo lo contrario). El alcohol es muy mal consejero, y te va a terminar liquidando a la larga.

¡Hacete budista, aniquilá todo posible deseo que tengas, y sé feliz con tu nueva vida toda "zen"!
57  Programación / Bases de Datos / T-SQL ¿Cuándo debo usar GO? en: 17 Septiembre 2013, 19:42 pm
Tengo el siguiente script de ejemplo para crear una base de datos:


Código
  1. USE master
  2. GO
  3. CREATE DATABASE Prueba
  4. GO
  5. USE Prueba
  6. GO
  7. CREATE TABLE Empleados(A, B, C)
  8. GO
  9. CREATE TABLE Secciones(D, E, F)
  10. GO
  11. INSERT INTO Empleados VALUES('Ana', 'Sosa', 'Yi 1111')
  12. INSERT INTO Empleados VALUES('Eva', 'Rocha')
  13. GO
  14. INSERT INTO Secciones VALUES('Cre', 'Credito')
  15.        INSERT INTO Secciones VALUES('Ger', 'Gerencia')


Mis preguntas: ¿Es absolutamente necesario usar el GO cada vez que creo algo? Porque he visto que perfectamente puedo omitir algunos y el script se sigue ejecutando tal cual lo hacía antes. ¿Es una buena práctica usar tantos GO cómo sea posible?
58  Programación / Bases de Datos / Re: ¿Cómo evito mostrar columnas repetidas? en: 17 Septiembre 2013, 02:22 am
Mmm... Ok, pero de esa forma estoy detallando explícitamente las columnas de la tabla Trabajan que quiero que aparezcan, que es justo lo que quería evitar.

Pero sí, parece que no hay otra forma. O indicas todas las columnas que quieras mostrar una por una, o las seleccionas TODAS con *. No existe algo así como:

Código
  1. SELECT * EXCEPT(columnaX)
  2.  

Talvez se pueda solucionar esto creando un procedimiento que te busque una determinada columna y la elimine, pero recién estoy empezando con el tema de los scripts en SQL y no lo tengo muy claro aún todo este asunto.


Muchas gracias por las respuestas!

Saludos.
59  Programación / Bases de Datos / Re: ¿Cómo evito mostrar columnas repetidas? en: 16 Septiembre 2013, 19:17 pm
Después de hacer un inner join entre las tablas Empleados y Trabajan, muestro todos los campos, y me queda algo así:


IdEmp   Nombre   Apellido   Direccion   IdEmp   IdCargo  IdSeccion


IdEmp pertenece a la tabla Empleados y también a la tabla Trabajan. Por eso se muestra dos veces. Y lo que quería saber es si existe alguna forma de mostrar la columna IdEmp una sola vez.

El Group By tengo entendido que sólo sirve cuando tengo funciones de agregación como lo son SUM(), COUNT(), etc. Pero no sé, capaz que sirve para más cosas también...
60  Programación / Bases de Datos / ¿Cómo evito mostrar columnas repetidas? en: 15 Septiembre 2013, 20:30 pm
El asunto es así:

Tengo 2 tablas, Empleados y Trabajan. La columna IdEmp es clave primaria de Empleados y a su vez clave foránea de Trabajan. Quiero componer las dos tablas mediante un inner join y mostrar todos los datos resultantes.

Tengo la siguiente consulta en SQL:

Código:
select *
from empleados inner join trabajan
on empleados.idemp = trabajan.idemp

La cuestión es que IdEmp pertenece a las 2 tablas, por lo que al mostrar todos los datos esta columna se repite. Me gustaría saber qué puedo hacer para evitar esto (sin tener que seleccionar las columnas que quiero mostrar una por una).
Páginas: 1 2 3 4 5 [6] 7 8 9 10 11 12 13
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines