·天新网首页·加入收藏·设为首页
首页|笔记本|手机|数码相机|摄像机|MP3/MP4|主板|内存|显示器|办公|打印机|下载|开发|汽车|学院|业界
硬件|台式机|数码|数字家庭|投影仪|GPS/CPU|显卡|硬盘|服务器|网络|一体机|驱动|源码|游戏|考试|报价
如何得到当前所在的sql的数据库名称
http://dev.21tx.com 2001年08月16日

*
豆腐制作 都是精品
http://www.ASP888.net 豆腐技术站
如转载 请保留版权信息
*/

网友问题原文如下:
这里有几个关于SQL SERVER的问题想向您请教(服务器端脚本编程):

(1)如何在SQL SERVER中用SQL语句获得当前的数据库名称?

(2)如何在定义一个全局变量而不是局部变量,因为我在这里定义了

一个循环,在这个循环里有对一个临时表加字段和对临时表插入数据

的操作。但这两个操作必须放在不同的批次里.(需要用GO语句分开)。

这时控制循环的变量参数就不起作用了,因为变量参数只能在一个

批次里起作用,到下一个批次就要重新定义了。真头疼!能不能定义

全局变量,让它在所有批次中都起作用?

这两个问题,其实并不具有一定的普遍性,但是解决这两个问题的 思路和方法 却有一定的 普遍性,所以我专门把这两个
问题拿出来 讲一下
(1)首先 这个当前 所在 DataBase 肯定需要用到 系统存储过程 这一点是 十分肯定的,
我自然想到了sp_who 执行后,列出了当前所有的 系统进程的 所有信息,我一看 有 Runnable,有 Slepping 肯定应该是 
runnable 了,一看 他的 spid 想起来了,有个系统的 全局变量@@SPID,先试一下,sp_who @@spid 哈哈 成功了
这个问题的解决之道 是 一定要熟悉 系统的存储过程和系统全局变量,并且要善于观察和思考
(2) 至于 第二个问题,则纯粹是一种 t-sql 编程的思路问题,首先我不赞同用一个规则去判断两个 存储过程,因为这不
符和 t-SQL 编程的规范,但是既然问题出来了,就要想办法 解决,我们知道在 两个批次里 是不可能共巷数据的,所以 
我想到了 cursor 游标,最终 经过测试,也成功了。 

上一篇: 如何实现日期比较,暨实现显示5天内,显示10天内的记录
下一篇: SQL SERVER应用问题解答13例(三)

Google
 
热点文章
关于我们 | 联系我们 | 广告服务 | 工作机会 | 版权声明 | 欢迎投稿 | 网站地图
Copyright © 2000-2008 , www.21tx.com , All Rights Reserved .
© 晨新科技 版权所有 Created by TXSite.net