MS Sql Server EXECUTE

这是一个小发现.(测试环境:SQL Server 9.0.3024,SQL Server 10.50.1600)

当使用执行EXECUTE语句时,若不使用括号'()’包含需要执行的字符串,将会抛出如下错误:

不包含括号exec 'select name,
		object_id,
		principal_id,
		schema_id,
		parent_object_id,
		type,
		type_desc,
		create_date,
		modify_date,
		is_ms_shipped,
		is_published,
		is_schema_published,
		lob_data_space_id,
		filestream_data_space_id,
		max_column_id_used,
		lock_on_bulk_load,
		uses_ansi_nulls,
		is_replicated,
		has_replication_filter,
		is_merge_published,
		is_sync_tran_subscribed,
		has_unchecked_assembly_data,
		text_in_row_limit,
		large_value_types_out_of_row,
		is_tracked_by_cdc,
		lock_escalation,
		lock_escalation_desc
		from sys.tables'

Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'select name,
        object_id,
        principal_id,
        schema_id,
        parent_object_id,
        type,
        type_desc,
        create_date,
        modify_d'.

 

字符串被截断了.

将代码改为如下内容:

包含括号exec ('select name,
		object_id,
		principal_id,
		schema_id,
		parent_object_id,
		type,
		type_desc,
		create_date,
		modify_date,
		is_ms_shipped,
		is_published,
		is_schema_published,
		lob_data_space_id,
		filestream_data_space_id,
		max_column_id_used,
		lock_on_bulk_load,
		uses_ansi_nulls,
		is_replicated,
		has_replication_filter,
		is_merge_published,
		is_sync_tran_subscribed,
		has_unchecked_assembly_data,
		text_in_row_limit,
		large_value_types_out_of_row,
		is_tracked_by_cdc,
		lock_escalation,
		lock_escalation_desc
		from sys.tables')

OK,一切正常!

 

测试了一下,若exec不使用括号包含执行语句.只能使用128个字符长度的动态语句.

Technorati 标签: Sql Server, exec

转载于:https://www.cnblogs.com/laoyumi/archive/2010/07/14/1777415.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值