我想设计一个通用的系统,要求如下:
(1)可在任何时间修改表的字段的数据类型。(任何时间:安装系统前、系统使用中)
(2)改数据类型后,不用修改之前写好的存储过程。我想的方案如下:
1、安装系统前修改数据类型可用以下方案解决,但系统使用中,SQL Server不允许修改用户自定的数据类型(HELLO)。
SP_ADDTYPE U_HELLO, 'VARCHAR(10)'
GOCREATE TABLE TESTTYPE(NAME U_HELLO)
GOCREATE PROC TESTING_U_HELLO @U_HELLO  U_HELLO
AS
SELECT * FROM TESTTYPE WHERE NAME=@U_HELLO
GO2、如用基础数据类型定义字段的类型,如要改字段的类型,就要修改已有的存储过程,这也不行,工作量太大了。
CREATE TABLE TESTTYPE(NAME VARCHAR(10))
GOCREATE PROC TESTING_U_HELLO @U_HELLO  VARCHAR(10)
AS
SELECT * FROM TESTTYPE WHERE NAME=@U_HELLO
GO改成
CREATE TABLE TESTTYPE(NAME VARCHAR(20))
GO改存储过程。请高手赐教,谢谢!