Java&Database&Web

2007年9月25日

create procedure gp_findtemptable

/* 寻找以操作员工号命名的全局临时表

 * 如无则将out参数置为0并创建该表,如有则将out参数置为1

 * connection断开连接后,全局临时表会被SQL Server自动回收

* 如发生断电之类的意外,全局临时表虽然还存在于tempdb,但是已经失去活性

* object_id函数去判断时会认为其不存在.

 */

@v_userid varchar(6), -- 操作员工号

@i_out int out -- 输出参数 0:没有登录 1:已经登录

as

declare @v_sql varchar(100)

if object_id('tempdb.dbo.##'+@v_userid) is null

begin

        set @v_sql = 'create table ##'+@v_userid+'(userid varchar(6))'

        exec (@v_sql)

        set @i_out = 0

end

else

        set @i_out = 1

        在这个过程中,我们看到如果以用户工号命名的全局临时表不存在时过程会去创建一张并把out参数置为0,如果已经存在则将out参数置为1

        这样,我们在我们的应用程序中调用该过程时,如果取得的out参数为1时,我们可以毫不客气地跳出一个message告诉用户说对不起,此工号正被使用!

posted @ 2007-09-25 10:12 BeyondBoy 阅读(644) | 评论 (1)编辑 收藏
仅列出标题  

导航

<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

统计

常用链接

留言簿(1)

随笔分类

随笔档案

文章分类

搜索

最新评论