| ||||
mmmhhhhh tu lo has dicho, en POO existe la sobre carga de métodos, y bueno, tenemos la bonita característica de VB de parámetros opcionales que es bastante aberrante definitivamente no creo que puedas sobrecargar un SP, podrías en todo caso asignarles un valor por default a esos parámetros.
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| |||
Puedes indicar parámatros opcionales Al definir los parámetros sólo tienes que asignarles un valor que será el valor por defecto CREATE PROCEDURE [MIPROCEDURE] PARAMETRO1 AS VARCHAR(50), PARAMETRO2 AS INT=1, PARAMETRO3 AS VARCHAR(50)='' AS ... Aquí los parámetros PARAMETRO1 y PARAMETRO2 son opcionales, si no indicas nada tomarán el valor que has indicado por defecto. Un saludo, Jose Sanchez Carvajal [email protected] |
| ||||
Cita: Pretendo hacer una sobrecarga de operadores
Iniciado por u_goldman mmmhhhhh tu lo has dicho, en POO existe la sobre carga de métodos, y bueno, tenemos la bonita característica de VB de parámetros opcionales que es bastante aberrante definitivamente no creo que puedas sobrecargar un SP, podrías en todo caso asignarles un valor por default a esos parámetros. Cita: Según lo que veo los parámetros opcionales acaso no serían el parametro2 y parametro3 ya que tienen valores por defecto?
Iniciado por jsanchezc Al definir los parámetros sólo tienes que asignarles un valor que será el valor por defecto CREATE PROCEDURE [MIPROCEDURE] PARAMETRO1 AS VARCHAR(50), PARAMETRO2 AS INT=1, PARAMETRO3 AS VARCHAR(50)='' AS ... Aquí los parámetros PARAMETRO1 y PARAMETRO2 son opcionales, si no indicas nada tomarán el valor que has indicado por defecto. Un saludo, Jose Sanchez Carvajal [email protected] Y si es así, entoces ¿yo podría hacer lo siguiente?:
Código:
Tomando los valores por defecto para el segundo y tercer parámetro, y tambien:Exec MIPROCEDURE 'MyString'
Código:
Donde 5 es el valor que tomaría el segundo parámetro y como no le envio tercer parámetro tomará el valor por defecto Exec MIPROCEDURE 'MyString', 5 |
| ||||
Cita: Cita: Es eso, pero supongo que no es lo que pretende...y al final la verdad tampoco le he encontrado mucha utilidad a esto.Saludos
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| ||||
Pues entonces no veo relación alguna entre un parámetro opcional y hacer una sobrecarga como lo podrías hacer en POO. La solución que se sugiere es simplemente tener un valor por defecto, en tanto una sobrecarga sugiere invocar distintas acciones dependiendo de que método se llame pero que al proceso que llame este método le de igual. Y ya que estamos hablando de esto, me surge la duda...por qué quisieras enviar parámetros opcionales?
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| ||||
Cita: que tal golman... bueno pos, tu fuiste el primero que utilizó el termino sobrecarga, yo mencioné parámetros por omisión, aunque también se semeja a la sobrecarga ya que una función sobrecargada en realidad son varias funciones que tienen el mismo nombre pero con diferente numero y tipo de parámetros de entrada y/o de salida (aunque de salida es solo uno o ninguno), y lo que yo necesito es poder llamar a un procedimiento enviandoles 1, 2, o 3 parámetros, y si no le envio uno de ellos que tome un valor por default
Iniciado por u_goldman Pues entonces no veo relación alguna entre un parámetro opcional y hacer una sobrecarga como lo podrías hacer en POO. La solución que se sugiere es simplemente tener un valor por defecto, en tanto una sobrecarga sugiere invocar distintas acciones dependiendo de que método se llame pero que al proceso que llame este método le de igual. Y ya que estamos hablando de esto, me surge la duda...por qué quisieras enviar parámetros opcionales? |
| ||||
Que tal dev009, tienes razón yo utilicé el término sobrecarga primero -era la hora del delirio -, que como bien lo explicaste es un término distinto, lo que sucede con los parámetros por omisión es que le permites a tu método decidir que tarea ejecutar de acuerdo al valor que tomen sus parámetros y bla bla bla, pero esto me lleva a la pregunta anterior -Por qué querer utilizar parámetros opcionales?-, personalmente no le veo mucha utilidad, digo quizás estoy viendo mal las cosas, pero sobre todo en SPs, ya que crean otra capa de mantenimiento en tu aplicación, yo prefiero mantenerlos lo mas "honesto" que se pueda, y creo que en la mayoría de los casos puedes evitar hacer algo como crear parámeros opcionales, por eso de mi pregunta anterior, que opinas? Salud
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| ||||
La cosa es que donde trabajo la gente de inventario me hizo un procedimiento al cual tengo que invocar desde mi modulo enviandole un parámetro. Luego, para ajustar el procedimiento para que lo utilice tambien otro modulo, dicho módulo necesita enviarle dos parámetros, pero yo ya lo tengo programado con un solo parámetro y ahora el procedimiento necesita dos parámetros |