Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Flock equivalent in SQL
Message
 
 
To
26/08/2009 20:07:11
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Environment versions
Visual FoxPro:
VFP 9 SP1
Database:
MS SQL Server
Miscellaneous
Thread ID:
01420778
Message ID:
01421082
Views:
37
>>See Record ID generator question Message #611104
>
>How to you call this procedure?
>
>Code in the above suggested message
>**********************
>*As long as you are going to retrieve all IDs from the same table, you no longer need to use Dynamic SQL.
>
>
>CREATE PROCEDURE gasp_generate
> @table_name	varchar(50),
> @newID int
>AS
>
>SET NOCOUNT ON
>
>UPDATE gasg_generator
>SET 
> @newID = id_value = id_value + 1
>WHERE
> table_name = @table_name
>
>IF @@ERROR <> 0
> RETURN 1
>ELSE
> RETURN 0
>
>
>Here I've changed the proc to return the next ID value using an OUTPUT parameter instead of return it as the return value. Within SQL Server, the convention is that the value returned from the proc represents the status.
>*****************************

You would call this procedure from the procedure that makes an insert into your table where you want to use this artificial counter.

E.g.
declare @ID int

declare @TableName varchar(100) = 'MyTableName'

declare @ParamDefinition nvarchar(1000)

set @ParamDefinition = N'@table_name varchar(100) ,@newID int OUTPUT'

execute sp_ExecuteSQL 'gasp_generate', @ParamDefinition, @table_Name = @TableName, @NewID = @ID OUTPUT

insert into myTableName (ID, ...) values (@ID, ...)
If it's not broken, fix it until it is.


My Blog
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform