当我的表(用户)中找到数据时,我尝试设置一个存在。在查询中,我需要使用一个变量。但是,在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

最佳答案

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

关于mysql - 如果执行存在MySQL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18565606/

10-11 17:25