
# 在华为云Astro轻应用脚本中执行sql语句时，可以不用@useObject修饰数据对象吗？
#### 场景描述
在脚本中执行"db.sql().execute()"时使用了下图提供的方法，即动态使用数据对象。
图1动态使用数据对象   
![](https://support.huaweicloud.com/astrozero_faq/zh-cn_image_0000001985264497.png "点击放大")
例如：使用db.dynamicObject("User")就不用@useObject(\['User'\])了，而db.sql().execute("SELECT \* FROM User")还是要用@useObject(\['User'\])，否则会报错。
#### 解决方法
dynamicObject方法的应用场景是在不明确是操作哪个对象表的情况下，例如以参数的形式，从外部赋值，而不是确定的表名。db.object是用于操作对象表确定的情况下，所以需要使用@useObject进行声明，请参考下图。
图2使用@useObject进行声明   
![](https://support.huaweicloud.com/astrozero_faq/zh-cn_image_0000001844873888.png "点击放大")
