473,385 Members | 1,359 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

Problem in creating stored procedure.

88 64KB
I'm trying to create a stored procedure in MSSQL Server 2005 that'll perform the following jobs:
1) Create a login.
2) Create an user in TestDB database for the login created in step 1.
3) Assign the role 'db_generaluser' to the user created in step 2.

The login name and password for the login to be created will be supplied from externally through input parameters. If this procedure executes successfully it returns 0 else 1 to the caller through an output parameter.

When I try to compile it, it's prompting the following error messages:
Msg 102, Level 15, State 1, Procedure sp_CreateLogin, Line 23
Incorrect syntax near '@loginname'.

Msg 319, Level 15, State 1, Procedure sp_CreateLogin, Line 23
Incorrect syntax near the keyword 'with'. If this statement is a common table expression or an xmlnamespaces clause, the previous statement must be terminated with a semicolon.

Msg 319, Level 15, State 1, Procedure sp_CreateLogin, Line 27
Incorrect syntax near the keyword 'with'. If this statement is a common table expression or an xmlnamespaces clause, the previous statement must be terminated with a semicolon.

What's my mistake? Plz help. My code follows:

Expand|Select|Wrap|Line Numbers
  1. SET ANSI_NULLS ON
  2. GO
  3. SET QUOTED_IDENTIFIER ON
  4. GO
  5. -- ==========================================================================================================
  6. -- Author:    Priyamtheone
  7. -- Create date: 2009-Oct-08
  8. -- Description:    This procedure is used to create a login, create an user in TestDB database associated to
  9. --        that login and assign the role 'db_generaluser' to that user. The login name and password
  10. --        will be supplied from externally through input parameters. If this procedure executes
  11. --        successfully it returns 0 else 1 to the caller through an output parameter.
  12. -- ==========================================================================================================
  13. CREATE PROCEDURE [dbo].[sp_CreateLogin] 
  14.     -- Add the parameters for the stored procedure here.
  15.     @loginname sysname,
  16.     @passwd    sysname,
  17.     @intRetVal int = 0 output    --Output parameter.
  18. AS
  19. BEGIN
  20.     -- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
  21.     SET NOCOUNT ON;
  22.     SET @intRetVal = 0;
  23.  
  24.     BEGIN TRY
  25.         CREATE LOGIN @loginname WITH PASSWORD=@passwd, DEFAULT_DATABASE=[TestDB], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
  26.  
  27.         CREATE USER @loginname FOR LOGIN @loginname WITH DEFAULT_SCHEMA=[dbo]
  28.  
  29.         EXEC sp_addrolemember N'db_generaluser', @loginname
  30.     END TRY
  31.     BEGIN CATCH
  32.         SET @intRetVal = 1;    --Something went wrong. So set the return value to 1.
  33.     END CATCH
  34. END
  35. GO
Oct 9 '09 #1
2 2798
ck9663
2,878 Expert 2GB
Try removing the default_schema parameter. If you left it blank, it will default to 'dbo' anyway.

Good luck!!!


--- CK
Oct 14 '09 #2
nbiswas
149 100+
Try something like
Expand|Select|Wrap|Line Numbers
  1. set @str = '
  2.         CREATE LOGIN ' + @loginname  + 'WITH PASSWORD=' + @passwd +', DEFAULT_DATABASE=[TestDB], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
  3.  
  4.         CREATE USER' +  @loginname + 'FOR LOGIN' +  @loginname + ' WITH DEFAULT_SCHEMA=[dbo]'
Hope it will work.. didnot test though
Nov 9 '09 #3

Sign in to post your reply or Sign up for a free account.

Similar topics

2
by: Yves Touze | last post by:
Hi All, I'm trying to migrate from SQL Server 7.0 to SQL Server 2000. I've got some ASP page which call VB components that retrieve shaped recordsets from SQL Server using the MSDATASHAPE...
1
by: John Mullan | last post by:
Hi I have a problem creating a backup in SQL Server 6.5. Although, the backup produced does restore ok, I want to stop this error message appearing everytime I make a backup. The error message is:...
3
by: Cesco | last post by:
Hallo to everybody. I have a DTS in SQL Server 2000 and I need to execute it from stored procedure. I know that there are various method fot does this but they doesn't work. The first method that...
0
by: billmiami2 | last post by:
Perhaps many of you MS Access fanatics already know this, but it seems that stored procedures and views are possible in Jet. I thought I would leave this message just in case it would help anyone....
1
by: Timothy V | last post by:
Hi, I was looking at this method within the SqlCommand class. It is the SqlCommand.Parameter.Add(string, object) method. My question is, how do I use this parameter within a stored procedure? ...
1
by: Paul | last post by:
Hi, I wish to be able to add tables to a sql server database at runtime from my asp.net application. As well as creating fields I also wish to be able to create indexes on selected fields and to...
6
by: Liang Zhang | last post by:
I am now developing a java program connected to db2 via jdbc, and the db2 server(version 8.2) is installed in a visual machine running also on my computer, however, i always found that the java...
9
by: jyothi1105 | last post by:
Hi all, Here is some information which could help people who want to create stored procedures and execute them in their program. You can create stored procedures in two ways: Through front end...
1
by: apothecary | last post by:
Hello Newbie here. Is there a way of creating a VIEW...using a stored procedure. I am basically trying to create a view to return some data that I am getting using a stored procedure. I...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.