SQL - Procedimiento o Función para insertar Registro en Tabla

 
Vista:

Procedimiento o Función para insertar Registro en Tabla

Publicado por Leandro (1 intervención) el 22/05/2011 00:10:08
Hola a todos:

Tengo una Tabla de Funcionalidades, sé que son 11 y el nombre de cada una.

Este es el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Insert into Adoquines.Funcionalidad (Funcionalidad_Nombre)
Values ('ABM de Empleado')
Insert into Adoquines.Funcionalidad (Funcionalidad_Nombre)
Values ('ABM de Rol')
Insert into Adoquines.Funcionalidad (Funcionalidad_Nombre)
Values ('ABM de Usuario')
Insert into Adoquines.Funcionalidad (Funcionalidad_Nombre)
Values ('ABM de Cliente')
Insert into Adoquines.Funcionalidad (Funcionalidad_Nombre)
Values ('ABM de Producto')
Insert into Adoquines.Funcionalidad (Funcionalidad_Nombre)
Values ('Asignación de Stock')
Insert into Adoquines.Funcionalidad (Funcionalidad_Nombre)
Values ('Clientes Premium')
Insert into Adoquines.Funcionalidad (Funcionalidad_Nombre)
Values ('Efectuar Pago')
Insert into Adoquines.Funcionalidad (Funcionalidad_Nombre)
Values ('Facturación')
Insert into Adoquines.Funcionalidad (Funcionalidad_Nombre)
Values ('Mejores Categorías')
Insert into Adoquines.Funcionalidad (Funcionalidad_Nombre)
Values ('Tablero de Control')


Para no tener que repetir siempre:

1
Insert into Adoquines.Funcionalidad (Funcionalidad_Nombre)


Quise hacer una función o procedimiento para reemplazar esa parte. Como una función tiene que devolver algo, preferí hacer un procedimiento:

1
2
3
4
5
6
7
Create Procedure InsertarRegistroEnFuncionalidad
(@Fun_N nvarchar(100))
As
Begin
Insert into Adoquines.Funcionalidad(Funcionalidad_Nombre)
Values (@Fun_N)
End


Pude ejecutarlo sin problema.

Y cuando necesito insertar un registro:
1
Exec Adoquines.InsertarRegistroEnFuncionalidad ('AMB de Empleado')


Pero al ejecutarlo me tira el siguiente error:
1
2
"Msg 102, Level 15, State 1, Procedure InsertarRegistroEnFuncionalidad, Line 9
Sintaxis incorrecta cerca de 'AMB de Empleado'."


No veo el error. Según me comentó mi profesor no se puede usar una función o procedimiento para hacer ABM de una Tabla. Solamente se puede hacer en caso que sean Tablas Temporales.

¿Alguien puede ayudarme?

Muchas gracias.
Leandro.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Procedimiento o Función para insertar Registro en Tabla

Publicado por Alejandro González (1 intervención) el 17/04/2012 23:24:45
Prueba esto:

Create Procedure InsertarRegistroEnFuncionalidad
is Fun_N nvarchar(100);
As
Begin
Insert into Adoquines.Funcionalidad(Funcionalidad_Nombre)
Values (@Fun_N)
COMMIT;
End;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar