0

当我的表(用户)中找到数据时,我尝试设置存在。在查询中,我需要使用一个变量。但是,在这种IF情况下,它不起作用。有什么理想吗?或任何替代方法?

DECLARE
@myTableName varchar(1000), 
@myQuery varchar(1000)

SET @myTableName = userTable   //the userTable i will retrieve from a parameter
SET @myQuery = 'SELECT TOP 1 1 FROM  ' + @myTableName + ''


IF EXISTS (EXEC(@myQuery))
    BEGIN
        print('Success')
    END
ELSE
    BEGIN
        print('Failed')
    END
4

1 回答 1

1
SET @myQuery = 'SELECT * FROM  ' + @myTableName + ' LIMIT 0,1 '

如果它不起作用,您可以尝试这种方法:

DECLARE
@myTableName varchar(1000), 
@i int

SET @myTableName = userTable   //the userTable i will retrieve from a parameter
SET @i = 'SELECT count(*) AS cnt FROM  ' + @myTableName + ''

IF @i > 0
    BEGIN
        print('Success')
    END
ELSE
    BEGIN
        print('Failed')
    END
于 2013-09-02T04:26:43.830 回答