sql - 脚本问题Transact-SQL

标签 sql sql-server tsql stored-procedures

我想从使用数据库中返回所有表名,但这只是返回一个字符

declare @contador int

set @contador = 1

while (@contador<=(select count(table_name) from INFORMATION_SCHEMA.TABLES))
begin
declare @tableName varchar
    set @tableName =  (select top 1 * from (select top(@contador) table_name from INFORMATION_SCHEMA.TABLES order by table_name asc) as nombre order by table_name desc)
    print @tableName
    set @contador = @contador + 1
end

输出是s
s
s
s
s
s

最佳答案

declare @tableName varchar(100)

您需要定义@tableName的长度,默认情况下将其设置为1个字符。

关于sql - 脚本问题Transact-SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10247725/

相关文章:

sql-server - SQL在日期之间选择,但在开始和结束日期为空时显示所有

sql - 每 N 选择行并进行 SUM

SQL "select where not in subquery"没有返回结果

sql - 我应该使用 information_schema.referential_constraints 还是 sys.foreign_keys 来检查 key 的存在?

sql - 甲骨文/OWB : Specifying the partition for INSERT at runtime

sql - ISNULL : Enhancing Performance?

sql - 在 SQL、JOIN 和 COUNT 中使用 HAVING

sql - 使用不带任何子句的 Pivot 将行转换为列

php - 将 html 包裹在 sql 表中的值以使表值成为链接

sql-server - 根据连接选择更新 SQL 记录