2 llz455581763 llz455581763 于 2014.11.19 18:53 提问

mssql中如何将参数传递到括号内

我的数据库中一些表有数据,一些表无数据,我需要把有数据的表名称提取出来,但是不删除(仅仅提取表名称而已)。写了以下这段话,求指正。没分悬赏了,感谢好心人。
declare
@id int,
@maxid int,
@name char(100),
@sql nvarchar(max);

set @id=1;
select @maxid =max(id) from tablename;

while @id<=@maxid

begin
select @name=name from tablename where id=@id
if not exists(select top 1 1 from @name)
delete from tablename where id=@id;

set @id=@id+1;
end;
go

select name from tablename

4个回答

ybygjy
ybygjy   2014.11.19 19:00

这种情总用SCHEMA处理

select a.TABLE_NAME,a.TABLE_ROWS from information_schema.TABLES a where a.TABLE_SCHEMA = 'higo' and a.table_rows > 0;

资料
20.23. The INFORMATION_SCHEMA TABLES Table

ybygjy
ybygjy 回复llz455581763: mssql也有相同的字典机制,也可以做
3 年多之前 回复
llz455581763
llz455581763 table_rows列名无效。我的是sql2012.
3 年多之前 回复
fredrickhu
fredrickhu   Ds   Rxr 2014.11.20 09:56

select a.name from sysobjects as a inner join sysindexes as b on a.id=b.id where a.type='U' and b.rows>0 and b.indid<2

不知道这样可不可以

save4me
save4me   Ds   Rxr 2014.11.20 10:04
save4me
save4me   Ds   Rxr 2014.12.18 10:28

上面的答案有帮助吗?如果还有问题,请提出来,如果对答案满意,请顶一下,并标记为采纳答案,谢谢!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
mysql 获取字段括号里的内容并根据它进行条件筛选
select remarks from (select *,substring_index(substring_index(remarks,&quot;】&quot;,1),'【',-1) as carCard from p_record_event )  as accwhere carCard LIKE '%C999%' 
算法题:除去字符串里面的括号
/* 给定一个如下输入格式的字符串,(1,(2,3),(4,(5,6),7)) 括号内的元素可以是数字,也可以另一个括号,请实现一个算法消除嵌套 的括号。比如把上面的表达式变成:(1,2,3,4,5,6,7), 如果表达式有误请报错。 */ #include <iostream> using namespace std;int Grial(char *&dist,const char *str) {
JavaScript中函数作为参数进行传递时的括号问题
JS中经常会遇到把一个函数作为参数传递给另一个函数。那么通常作为参数进行传递的函数要不要加括号呢? 这里就要讲到括号的二义性: 当函数名后加上括号时,通常会执行函数体本身。如果函数有返回值时,此时会得到函数的返回值;当函数名后不加括号时,其实质上是一个函数指针,只是用于找到函数体的位置,不会直接执行函数体; 因此,如果时把函数作为参数进行值传递时,通常不需要加括号,只是把它当做一个函
shell中如何取括号中的字符
1. 使用grep(结果带括号,不知道有没有办法仅把括号中的内容匹配出来) 1 2 3 4 5 6 7 $a='abc[edg]adfirpqu' $echo $a|grep -o '\[.*\]'  #中括号的处理需要转义 [edg]   $b='abc(edg)adfirpqu'
在 Microsoft Office Word 中如何删除括号和括号内的文字
<br />在 Microsoft Office Word 中如何删除括号和括号内的文字<br /> <br />/文 chtdsl<br /> <br /> <br />问题描述:<br /> <br />      在一篇 Word 文章里面有大量的括号,并且括号里面的内容各不相同,如何删除括号和括号内的文字呢?<br />解决办法:<br /> <br />      以 word2003 为例进行说明,其他版本可以参照:<br />      假如是小括号“(”,中括号和大括号等其他符号的方法类似。
正则表达式匹配各种括号内内容
用正则表达式匹配两个字符中间的文本 String skh ="(?<=\\《)[^\\》]+";//用于匹配《》里面的文本 String str="但实际上《kajdwdej》孙大伟多";//测试字符串 Pattern pattern=Pattern.compile(skh); Matcher matcher=pattern.matcher(str); boolean is=matche
正则表达式替换括号内的内容
\((.*?)\) 正则表达式用含括号的文本替换,需要在括号前加上 \
【技能库】-- java.util.regex.Pattern 正则提取括号中的内容{} () [](249)
示例: public static Pattern pattern1 = Pattern.compile(“(?<=\{)[^\}]+”); public static void main(String[] args) { String content = “你好,你的班车从 dep.name到{dep.name} 到 {arr.name} 发生XX,${yyy
正则表达式获取中括号里面的内容
正则表达式获取中括号里面的内容,比如:获取[ ]里面的,1401245,1401237,1401236。实现如下:let regex = /\[\d+\]/g; let strs = regex.exec("这里是你输入的带有中括号的字符串变量"); let str2 = strs[0].substring(1,strs[0].length).substring(0, strs[0].length
C#取有嵌套括号内的数据
private void aa()         {  string s = "(((空调1 > 30)且(空调2 ;             Regex reg = new Regex(@"(?is)(?);             MatchCollection mc = reg.Matches(s);             foreach (Match