添加說明,列我可以創建一個表,並通過聲明其在Java列:使用Java代碼
CREATE TABLE table_name(column1 int, column2 double, etc...)
我想這樣做是爲了說明添加到每個這些列與適當的聲明,我發現一個存儲過程sp_addextendedproperty,看起來它可以用來實現這一點,我只是不知道如何在java中使用它與jdbc。
添加說明,列我可以創建一個表,並通過聲明其在Java列:使用Java代碼
CREATE TABLE table_name(column1 int, column2 double, etc...)
我想這樣做是爲了說明添加到每個這些列與適當的聲明,我發現一個存儲過程sp_addextendedproperty,看起來它可以用來實現這一點,我只是不知道如何在java中使用它與jdbc。
您是否在運行時動態創建表(例如作爲應用程序的一部分) - 也許這甚至是用戶驅動的?如果是這樣的話,你已經有了「文檔」(列註釋),我懷疑將它們添加到SQL Server的效用。
但是,如果你只是試圖自動化你的構建,看看LiquiBase。這是一個相當不錯的數據庫變更管理系統,它使用XML作爲主幹。它是用java編寫的,並且與Hibernate很好地集成(如果你決定使用ORM而不是直接使用JDBC)。
更新:如果你決定通過JDBC調用存儲過程來往前走,我會強烈建議使用CallableStatement調用它。如果可能,應避免在應用程序中動態構建SQL查詢。
有許多的方式來調用存儲過程(本質上,準備語句和綁定變量,或發送SQL的字符串),但最簡單的是隻送RHE SQL語句
exec sp_addextendedproperty list, of, arguments, the, sp, needs;
跳過你的try /終於樣板,並假設connection
是java.sql.Connection
,這就是:
connection
.createStatement()
.execute("exec sp_addextendedproperty arguments;");
但ChssPly76好點:從Java做的,這是不是一個好主意(除非你正在開發一些數據庫管理器在Ja VA)。
你爲什麼要從Java做到這一點?你是否也在執行java的「create table」語句?如果沒有,大概你會想把東西捆綁在一起DDL腳本 – ChssPly76 2009-08-06 02:18:43
是的,我正在從Java創建數據表 – 2009-08-06 02:28:15